Every time user’s complaints me about page scroll issues.
For example: If a lengthy page having a dropdown list with AutoPostBack = true at bottom of page. After the selection page gets reloaded and focus will be on top of the page. User needs to again scroll down the page for next key in. Here a sample solution for help...
c#
public void SetFocus(Page sPage)
{
string[] sCtrl = null;
string sCtrlId = null;
Control sCtrlFound = default(Control);
string sCtrlClientId = null;
string sScript = null;
sCtrl = sPage.Request.Form.GetValues("__EVENTTARGET");
if ((sCtrl != null))
{
sCtrlId = sCtrl[0];
sCtrlFound = sPage.FindControl(sCtrlId);
if ((sCtrlFound != null))
{
sCtrlClientId = sCtrlFound.ClientID;
sScript = "<SCRIPT language='javascript'>document.getElementById('" + sCtrlClientId + "').focus(); if (document.getElementById('" + sCtrlClientId + "').scrollIntoView(false)) {document.getElementById('" + sCtrlClientId + "').scrollIntoView(true)} </SCRIPT>";
sPage.ClientScript.RegisterStartupScript(typeof(string), "controlFocus", sScript);
}
}
}
Call this function on page load
Example: SetFocus(this);
本文提供了一种解决网页中长页面滚动及选择后页面重新加载时焦点丢失至页面顶部的问题,通过C#代码实现页面元素的焦点保持,确保用户在进行下一次输入前无需再次滚动页面。
7285

被折叠的 条评论
为什么被折叠?



