我的一个首页上下都放了自已做的用户控件在下面的用户控件中有一个 DropDownList1 由于要读数据库再加载第二个 DropDownList2 所以我设置成了AutoPostBack="True",这样一来每次在选择下面用户控制中的DropDownList1 中的行时都会重新加载一下首页,首页就滚动到了最前面...怎么让它就它不这样滚动呢?

解决方案 »

  1.   

    滚动条高度肯定是不会传到服务器的可以用select + js实现
      

  2.   

    如果是05的话
    设置 maintainScrollPositionOnPostBack="true"
      

  3.   

    加上如下js:
    <SCRIPT language="javascript">
    function Trim(strValue)
    {
    return strValue.replace(/^\s*|\s*$/g,"");
    }
    function SetCookie(sName, sValue)
    {
    document.cookie = sName + "=" + escape(sValue);
    }   
    function GetCookie(sName)
    {
    var aCookie = document.cookie.split(";");
    for (var i=0; i < aCookie.length; i++)
    {
    var aCrumb = aCookie[i].split("=");
    if (sName == Trim(aCrumb[0]))
    {
    return unescape(aCrumb[1]);
    }
    }
    return null;
    }
    </SCRIPT>
    body处改成如下:
    <body id="body" onscroll='SetCookie("scroll",body.scrollTop);'>
      

  4.   

    受教,一直被页面滚得头大,又不想去写Ajax
      

  5.   

    <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default3.aspx.cs" Inherits="Default3" MaintainScrollPositionOnPostback="true" %>
      

  6.   

    <%@Page MainScrollPositionOnPostback="true"