Good day,
I have i problem with jumping pages when scrolling to the bottom of the page. The HTML-code that is generated by a certain infragistics component is:
<div style="position: absolute; top: -10000px; left: -10000px; display: block; border: medium solid;"></div>
It can be the case that more than one (even four) of these lines are generated at the bottom of my HTML code. This piece(s) of code make the page jump to the top whenever someone scrolls to the bottom of the page.
Do you have any ideas? We are running the latest version of Infragistics.
regards,
René
Hi Rene,
Could you maybe attach a sample replicating this problem? Or at the least the definition of the grid and what browser you are experiencing this in? This code doesn't help much. And when you say you are running the latest, I would assume that to mean version 10.3 and the latest Service Release (so your build number is NOT 1013, but something in the 2000's.).
regards,David Young
Hi David,
We just installed the newest version:10.3.20103.2120 and still have the problem. The problem is that when a page is showing a right scrollbar you can not get to the bottom of the page. When scrolling down it jumps back to the top of the page. If you continu trying sometimes you can get it stick to the bottom, but normally you can not.
Hereby you find our masterpage and a sample page with the problem:
WebFrom2.aspx:
<%@ Page Title="" Language="C#" MasterPageFile="~/Sundio.Master" AutoEventWireup="true" CodeBehind="WebForm2.aspx.cs" Inherits="GoGoYield.WebForm2" %><asp:Content ID="Content1" ContentPlaceHolderID="cphHead" runat="server"></asp:Content><asp:Content ID="Content2" ContentPlaceHolderID="cphSubMenu" runat="server"></asp:Content><asp:Content ID="Content3" ContentPlaceHolderID="cphLeft" runat="server"></asp:Content><asp:Content ID="Content4" ContentPlaceHolderID="cphMain" runat="server"><table><tr><td>Test<br />Test<br />Test<br />Test<br />Test<br />Test<br />Test<br />Test<br />Test<br />Test<br />Test<br />Test<br />Test<br />Test<br />Test<br />Test<br />Test<br />Test<br />Test<br />Test<br />Test<br />Test<br />Test<br />Test<br />Test<br />Test<br />Test<br />Test<br />Test<br />Test<br />Test<br />Test<br />Test<br />Test<br />Test<br />Test<br />Test<br />Test<br />Test<br />Test<br />Test<br />Test<br />Test<br />Test<br />Test<br />Test<br />Test<br />Test<br />Test<br />Test<br />Test<br />Test<br />Test<br />Test<br />Test<br />Test<br />Test<br />Test<br />Test<br />Test<br />Test<br />Test<br />Test<br />Test<br />Test<br />Test<br />Test<br />Test<br />Test<br />Test<br />Test<br />Test<br />Test<br />Test<br />Test<br />Test<br />Test<br />Test<br />Test<br />Test<br />Test<br />Test<br />Test<br />Test<br />Test<br />Test<br />Test<br />Test<br />Test<br />Test<br />Test<br />Test<br />Test<br /></td></tr></table></asp:Content>
---------------------------------------------------------------------
WebFrom2.aspc.cs:
using System;using System.Collections.Generic;using System.Linq;using System.Web;using System.Web.UI;using System.Web.UI.WebControls;namespace GoGoYield{ public partial class WebForm2 : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { } }}
-------------------------------------------------------------------------------------
Sundio.Master:
<%@ Master Language="C#" AutoEventWireup="true" CodeBehind="Sundio.master.cs" Inherits="GoGoYield.Sundio" %><%@ Register Assembly="Infragistics4.Web.v10.3, Version=10.3.20103.2120, Culture=neutral, PublicKeyToken=7dd5c3163f2cd0cb" Namespace="Infragistics.Web.UI.LayoutControls" TagPrefix="ig" %><%@ Register Assembly="Infragistics4.Web.v10.3, Version=10.3.20103.2120, Culture=neutral, PublicKeyToken=7dd5c3163f2cd0cb" Namespace="Infragistics.Web.UI.NavigationControls" TagPrefix="ig" %><% Response.CacheControl = "no-cache"; %><% Response.AddHeader("Pragma", "no-cache"); %><% Response.Expires = -1; %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head runat="server"> <title>GoGo Yield & Marketing</title> <script type="text/javascript" src="<%=Page.ResolveUrl("~/jquery-1.4.2.min.js") %>"></script> <link rel="StyleSheet" href="GoGoYield.css" type="text/css"/> <asp:ContentPlaceHolder ID="cphHead" runat="server"> </asp:ContentPlaceHolder> <script type="text/javascript" language = "javascript"> var XMLHttpRequestObject = false; if (window.XMLHttpRequest) { XMLHttpRequestObject = new XMLHttpRequest(); } else if (window.ActiveXObject) { XMLHttpRequestObject = new ActiveXObject("Microsoft.XMLHTTP"); } function getData(dataSource, divID) { if (XMLHttpRequestObject) { var obj = document.getElementById(divID); XMLHttpRequestObject.open("GET", dataSource); XMLHttpRequestObject.onreadystatechange = function () { if (XMLHttpRequestObject.readyState == 4 && XMLHttpRequestObject.status == 200) { obj.innerHTML = XMLHttpRequestObject.responseText; } } XMLHttpRequestObject.send(null); } } /* * This function can be used to format the value label of a webslider * as a string (dd-mm to dd-mm). Due to a bug in Infragistics (no surprise) * setting the values of each thumb independently doesn't work as expected. */ function FormatDateValueLabel(sender, eventArgs) { var value = eventArgs.get_value(); var otherValue = eventArgs.get_otherValue(); var label = value.getDate() + '-' + (value.getMonth() + 1) + ' to ' + otherValue.getDate() + '-' + (otherValue.getMonth() + 1); eventArgs.set_label(label); } </script></head><body> <form id="form1" runat="server" style="height: 100%"> <div class="container"> <img src="images/GoGoYieldMarketing.png" width="200px" class="imgHeaderTitle"/> <img src="images/sundio_fill.jpg" class="imgHeaderFill"/> <img src="images/sundio.jpg" class="imgHeaderLogo"/> <div class="container" style="height:70px;"> <asp:ScriptManager ID="smMaster" runat="server" ScriptMode="Release" EnableScriptGlobalization="true"></asp:ScriptManager> </div> <div class="container"> <div style="padding-left: 10px;"> <ig:WebDataMenu ID="wdmTop" runat="server"> <GroupSettings Orientation="Horizontal" /> <Items> <ig:DataMenuItem Text="Capacity" NavigateUrl="Capacity.aspx"> </ig:DataMenuItem> <ig:DataMenuItem Text="Prices" NavigateUrl="Overview.aspx"> </ig:DataMenuItem> <ig:DataMenuItem Text="Website" NavigateUrl="WebsiteOffers.aspx"> </ig:DataMenuItem> <ig:DataMenuItem NavigateUrl="Newsletters.aspx" Text="Newsletters"> </ig:DataMenuItem> </Items> </ig:WebDataMenu> <ig:WebDialogWindow ID="wdwDialog" runat="server" DesignTimeMinimize="True" Height="165px" InitialLocation="Centered" Width="400px" Modal="True" WindowState="Hidden" AutoPostBackFlags-WindowStateChange="On"> <ContentPane> <Template> <div class="container"> <div class="standard center"> <asp:Label ID="lblMessage" runat="server" Text="" Width="350px" Height="60px"></asp:Label> </div> </div> <div class="container"> <div class="center"> <asp:Button ID="btnClose" CssClass="btnClose" runat="server" OnClick="btnWdwClose_Click" Text="Close" /> </div> </div> </Template> </ContentPane> <Header> <CloseBox Visible="False" /> </Header> <AutoPostBackFlags WindowStateChange="On"></AutoPostBackFlags> </ig:WebDialogWindow> </div> </div> </div> <div class="container"> <asp:ContentPlaceHolder ID="cphSubMenu" runat="server"></asp:ContentPlaceHolder> </div> <div class="container"> <table class="content"><tr> <td class="contentLeft"> <asp:ContentPlaceHolder ID="cphLeft" runat="server"></asp:ContentPlaceHolder> </td> <td class="contentMain"> <asp:ContentPlaceHolder ID="cphMain" runat="server"></asp:ContentPlaceHolder> </td> </tr></table> </div> </form> <script type="text/javascript" id="igClientScript"> // Row selection function selectRow(checkbox, grid) { var chkId = checkbox.id; // format "ck[selectionId]" var selectionId = chkId.substring(2); if (grid._get_isAjaxCallInProgress()) { // Cancel click if an update is in progress checkbox.checked = !checkbox.checked; return; } var row = grid.get_rows().get_rowFromKey([selectionId]); var selectedCell = row.get_cellByColumnKey('Selected'); // Set the value of the "Selected" field var editingCore = grid.get_behaviors().get_editingCore(); editingCore.beginUpdate(); selectedCell.set_value(checkbox.checked ? true : false); // apply updates to server side dataset using the editing core editingCore.endUpdate(); editingCore.commit(); } // Select all rows on current page function selectPage(select, grid) { if (grid._get_isAjaxCallInProgress()) { // Cancel selection if an update is in progress return; } var rows = grid.get_rows(); var rowCount = rows.get_length(); var editingCore = grid.get_behaviors().get_editingCore(); editingCore.beginUpdate(); for (var i = 0; i < rowCount; i++) { var row = rows.get_row(i); // Set the value of the "Selected" cell var cell = row.get_cellByColumnKey('Selected'); if (cell.get_value() != select) { cell.set_value(select); // Check the corresponding checkbox by getting the // DOM element of the first cell in the row and then // looking for the checkbox in it. var cellCheckbox = $(row.get_cellByColumnKey('checkField').get_element()).find('input'); if (select) { cellCheckbox.attr('checked', 'checked'); } else { cellCheckbox.removeAttr('checked'); }; } }; editingCore.endUpdate(); editingCore.commit(); } </script></body></html>
-----------------------------------------------------------------------------
Sundio.Master.cs:
using System;using Infragistics.Web.UI.NavigationControls;using Sunweb.BusinessLayer;using Sunweb.DataAccessLayer;using Sunweb.EntityDataLayer;using Sunweb.Controls;using System.Collections.Generic;using System.Data.Objects;using System.Data.Objects.DataClasses;using System.Data.EntityModel;namespace GoGoYield{ public partial class Sundio : System.Web.UI.MasterPage { public enum TopMenuTabs {Capacity, Prices, Website, Newsletters}; // Shared functions public PriceData GetPriceData() { PriceData data = (PriceData)Session["PriceData"]; if (data == null) { data = new PriceData(); Session["PriceData"] = data; } return data; } public ProductSelection GetProductSelection() { ProductSelection selection = (ProductSelection)Session["ProductSelection"]; if (selection == null) { selection = new ProductSelection(); Session["ProductSelection"] = selection; } return selection; } public PriceSelection GetPriceSelection() { PriceSelection selection = (PriceSelection)Session["PriceSelection"]; if (selection == null) { selection = new PriceSelection(); Session["PriceSelection"] = selection; } return selection; } //Get the BrandAlternateKeys that the user has access rights to //These are stored in Session["BrandAccess"] (prepared in Global.asax) public UserBrandAccess GetBrandAccess() { UserBrandAccess brandAccess = (UserBrandAccess)Session["BrandAccess"]; return brandAccess; } public Sunweb.DataAccessLayer.Brands GetBrands() { Sunweb.DataAccessLayer.Brands dsBrands = (Sunweb.DataAccessLayer.Brands)Session["Brands"]; if (dsBrands == null) { dsBrands = GetPriceSelection().GetFilteredBrands(GetBrandAccess()); Session["Brands"] = dsBrands; } return dsBrands; } public Sunweb.DataAccessLayer.Destinations GetAllRegions() { Sunweb.DataAccessLayer.Destinations dsRegions = (Sunweb.DataAccessLayer.Destinations)Session["AllRegions"]; if (dsRegions == null) { dsRegions = GetProductSelection().GetCountryRegionDestination(); Session["AllRegions"] = dsRegions; } return dsRegions; } public Sunweb.DataAccessLayer.Destinations GetRegions() { Sunweb.DataAccessLayer.Destinations dsRegions = (Sunweb.DataAccessLayer.Destinations)Session["Regions"]; if (dsRegions == null) { dsRegions = GetProductSelection().GetFilteredDestinations(GetBrandAccess()); Session["Regions"] = dsRegions; } return dsRegions; } public GoGoYield_Entities GetEntities(bool lazyLoadingEnabled = true) { GoGoYield_Entities entities = (GoGoYield_Entities)Session["GoGoYieldEnitities" + lazyLoadingEnabled.ToString()]; if (entities == null) { entities = new GoGoYield_Entities(); entities.ContextOptions.LazyLoadingEnabled = lazyLoadingEnabled; Session["GoGoYieldEnitities" + lazyLoadingEnabled.ToString()] = entities; } return entities; } public ObjectSet<Brand> GetAllBrandsEntity() { ObjectSet<Brand> brands = (ObjectSet<Brand>)Session["AllBrandsEntity"]; if (brands == null) { brands = GetEntities().Brands; Session["AllBrandsEntity"] = brands; } return brands; } protected void Page_Load(object sender, EventArgs e) { } // Set the selected item in the TopMenu public void SetSelectedTopMenuItem(Sundio.TopMenuTabs item) { wdmTop.Items[(int)item].Selected = true; } public CheckAccess GetAutorizationManager() { CheckAccess azMan = (CheckAccess)Application["AzMan"]; if (azMan == null) { azMan = new CheckAccess(); Application["AzMan"] = azMan; } return azMan; } public void ShowMessageDialog(String message) { lblMessage.Text = message; wdwDialog.WindowState = Infragistics.Web.UI.LayoutControls.DialogWindowState.Normal; } protected void btnWdwClose_Click(object sender, EventArgs e) { wdwDialog.WindowState = Infragistics.Web.UI.LayoutControls.DialogWindowState.Hidden; } }}
-----------------------------------------------------------------------------------
I'm also having this issue. I'm currently running 11.1.
We just installed the latest service release, but we still have this error. Can you tell us how and when this issue will be resolved?
Hello René,
Thank you for sharing the markup of the page.
It looks like the issue is caused by the WebDataMenu.
I am familiar with an issue regarding the scrolling up/down when WebDataMenu is used in MasterPage context.
The issue is fixed and will be available in the next service release.
Hope this helps