|
Introduction
In some cases when an ASP.NET page loads the control you need to focus on is not visible because it is further down the page. I have had numerous occasions where a request varible indicates which item on a long list the user is interested in viewing, this script can help by scrolling the particular item into view.
Code
The following function I have added to a Utils.dll library for gerneral use so is static and needs the current page as a variable.
public class Utils
{
public static void FocusControlOnPageLoad(string ClientID, System.Web.UI.Page page)
{
page.RegisterClientScriptBlock("CtrlFocus",
@"<script>
function ScrollView()
{
var el = document.getElementById('"+ClientID+@"')if (el != null){el.scrollIntoView();
el.focus();}
}
window.onload += ScrollView;
</script>");
}
}
You can use this as follows:
private void Page_Load(object sender, System.EventArgs e)
{
Utils.FocusControlOnPageLoad(this.yourcontrol.ClientID, this.Page);
}
|
|
请发表评论