如下情况:
    网页中有一个按钮,我点了一下按钮需要网页显示的位置保持不变,在网页page属性中加入SmartNavigation="true" 属性能解决了这个刷新的问题。
    但是在单张页面浏览的时候没有问题,也达到了预期的效果,但是在frameset里面浏览的时候,点了那个按钮页面上的样式就突然都没有了,后来把那个page属性SmartNavigation="true" 去掉,样式没有问题,但是点击按钮页面刷新就又置顶了。
    在页面代码中用page.setfoucs()也没有用
    恳请各位高手鼎力相助!!!!!

解决方案 »

  1.   

    使用Cookie应该可以。例子<%@ Page Language="C#" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><script runat="server">  protected void Button1_Click(object sender, EventArgs e)
      {
        ClientScriptManager cs = Page.ClientScript;
        cs.RegisterStartupScript(Page.GetType(), "j", "GetPos()", true);
      }
    </script><html xmlns="http://www.w3.org/1999/xhtml">
    <head runat="server">
      <title></title>  <script type="text/javascript">
        function SetCookie(name, value)//两个参数,一个是cookie的名子,一个是值
        {
          document.cookie = name + "=" + escape(value);
        }
        function getCookie(name)//取cookies函数        
        {
          var arr = document.cookie.match(new RegExp("(^| )" + name + "=([^;]*)(;|$)"));
          if (arr != null) return unescape(arr[2]); return null;
        }    function SetPos() {
          h = document.documentElement ? document.documentElement.scrollTop : document.body.scrollTop;
          SetCookie("h", h);
        }    function GetPos() {
          h = getCookie("h");
          if (document.documentElement)
            document.documentElement.scrollTop = parseInt(h)
          else
            document.body.scrollTop = parseInt(h);
        }
      </script></head>
    <body>
      <form id="form1" runat="server">
      <asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="Button" OnClientClick="SetPos()" />
      </form>
    </body>
    </html>