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="" />

posted on 2004-08-10 15:45  陈叙远  阅读(6152)  评论(15编辑  收藏  举报

导航