检查下你Page_load中的方法是不是放在isPostBack外面在,要放到里面来,回调事件时都会先执行IspostBack外面的东西

解决方案 »

  1.   

    把代码拿上来看看!
    像这种丢数据的问题问题很可能是出在pageload函数上
    另外也可能你的空间没有写runat = "server"
    无论如何,把pageload代码和控件的html代码都贴上来
      

  2.   

    应该是你的下拉菜单启用了AutoPostBack造成的
      

  3.   

    下拉菜单是启用了AutoPostBack,要不然不能联动啊.protected void Page_Load(object sender, System.EventArgs e)
    {
    // 在此处放置用户代码以初始化页面
    if(!IsPostBack)
    {
    DataGridDataBind();
    }
                
    }
    protected void sf_SelectedIndexChanged(object sender, System.EventArgs e)
    {
                
                 string sql="select * from City where province='"+sf.SelectedValue.ToString()+"'";
    //引入数据库操作类
    Admin.Admin_ClassDb classdb=new Admin.Admin_ClassDb();
    city.DataSource=classdb.GetTables(sql).DefaultView;
    city.DataTextField="City";
        city.DataValueField="Cityid";
    city.DataBind();                    //城市
              
    }这是部分代码
      

  4.   

    把下拉菜单的AutoPostBack设成false,再检查下,看下拉菜单的方法在不在!isPostback里面
      

  5.   

    楼主用ajax把,把刷新局限在下拉列表上
    或者干脆用js实现省市联动
      

  6.   

    你那样页面会刷新,密码当然就清空了,可以用Ajax来弄省市连动
      

  7.   

    因为是服务器事件 ,执行就会刷新,肯定密码就没了
      
      只有用js才可以做到, 应用ajax可以
      

  8.   

    所谓“省市联动”功能,只应该放入两个下拉控件。你的UpdatePanel太夸大了。你应该将两个DropdownList放在一个UpdatePanel里,而将文本框放在这个UpdataPanel之外。向UpdatePanel中放入过多的控件,实际上是给那些为全局功能负责的设计者制造麻烦。
      

  9.   

    那是当然了,你见过刷新过密码框的密码还在的网站吗??因为你页面刷新过了,如果解决这办法的话可以用ajax无刷新
      

  10.   

    哦,如果所谓“省市联动”不是Ajax来实现,那么你的技术就比较落后一些了。为页面的两个下来控件放入UpdatePanel再设置一两个属性就可以了,不足半分钟就可以搞好,不需要写代码。
      

  11.   

    sp1234果然一语中的,是俺在CSDN里面相当佩服的人之一
      

  12.   

    在Page_Load中加入:
    TextBox1.Attributes.Add("value", TextBox1.Text);
      

  13.   

    如果不想用JS或是别的,你可以在刷新的时候保存密码。然后赋值!
    用ViewState就行!
      

  14.   

    干脆扔在Session里面算了
    在重新load的时候重新赋值
      

  15.   

    密码文本框 加上 样式 .sHistory {behavior:url(#default#savehistory)