>private void Page_Load(object sender, System.EventArgs e) >{ > if (!Page.IsPostBack) > { > // ... > } > RegisterHiddenField("__SCROLLLOC", "0"); > StringBuilder sb = new StringBuilder(); > sb.Append("<script language='javascript'>"); sb.Append("function SaveScrollLocation () {"); sb.Append(" document.forms[0].__SCROLLLOC.value = document.body.scrollTop;"); sb.Append("}"); sb.Append("document.body.onscroll=SaveScrollLocation;"); sb.Append("</script>"); > if (!IsStartupScriptRegistered("saveScroll")) > { RegisterStartupScript("saveScroll", sb.ToString()); } > if (Page.IsPostBack) > { > StringBuilder _sb = new StringBuilder(); > _sb.Append("<script language='javascript'>"); _sb.Append("function SetScrollLocation () {"); _sb.AppendFormat(" document.body.scrollTop = {0};",Request["__SCROLLLOC"]); _sb.Append("}"); _sb.Append("document.body.onload=SetScrollLocation;"); _sb.Append("</script>"); > if (!IsStartupScriptRegistered("setScroll")) > { RegisterStartupScript("setScroll", _sb.ToString()); } > } >} >>
> RegisterHiddenField("__SCROLLLOC", "0"); > string saveScroll = >@"<script language='javascript'> function SaveScrollLocation () { document.forms[0].__SCROLLLOC.value = document.body.scrollTop; } document.body.onscroll=SaveScrollLocation; </script>"; > if (!IsStartupScriptRegistered("saveScroll")) > { > RegisterStartupScript("saveScroll", saveScroll); > } > if (Page.IsPostBack) > { > string setScroll = >@"<script language='javascript'> function SetScrollLocation () { document.body.scrollTop = " + Request["__SCROLLLOC"].ToString() + @";} document.body.onload=SetScrollLocation; </script>"; > if (!IsStartupScriptRegistered("setScroll")) > { > RegisterStartupScript("setScroll", setScroll); > } >} >Thanks, Cetin. I tried setting SmartNagivation on 2 test forms that could use scroll control. For maintaining scroll position, it worked for 1 of the 2 forms in IE, 0 of 2 in FireFox. When I tested the code shown above, 2 of 2 worked for both browsers.