asp.net小技巧:页面滚动位置保持
我常用下面的方法:
c#
step 1
replace the tag of <body> with the follewing codes:
<%
if (Request["__SCROLLPOS"] != null &&
Request["__SCROLLPOS"] != String.Empty) {
int pos = Convert.ToInt32 (Request["__SCROLLPOS"]);
Response.Write ("<body id=\"theBody\" " +
"onscroll=\"javascript:document.forms[0].__SCROLLPOS.value = " +
"theBody.scrollTop;\" " +
"onload=\"javascript:theBody.scrollTop=" + pos + ";\">");
}
else {
Response.Write ("<body id=\"theBody\" " +
"onscroll=\"javascript:document.forms[0].__SCROLLPOS.value =" +
"theBody.scrollTop;\">");
}
%>
step 2
add the follewing codes between <form> and </form>
<input type="hidden" name="__SCROLLPOS" value="" />
vb
step 1
replace the tag of <body> with the follewing codes:
<%
If Not Request("__SCROLLPOS") Is Nothing then
if Request("__SCROLLPOS") <> String.Empty Then
Dim pos As Integer = CType(Request("__SCROLLPOS"), Integer)
Response.Write("<body id=""theBody"" onscroll=""javascript:document.forms[0].__SCROLLPOS.value = theBody.scrollTop;"" onload=""javascript:theBody.scrollTop=" + pos.tostring + ";"">")
end if
else
response.Write("<body id=""theBody"" onscroll=""javascript:document.forms[0].__SCROLLPOS.value =theBody.scrollTop;"">")
end if
%>
step 2
add the follewing codes between <form> and </form>
<input type="hidden" name="__SCROLLPOS" value="" />