我在做一个修改资料的模块,因为是修改所以要把已经存在的值初始化,然后用户再去修改,为了方便描述,我这里作了简化.protected void Page_Load(object sender, EventArgs e)
    {
        //注意这里为空
    }
    protected void Button1_Click(object sender, EventArgs e)
    {
        //比如保存所做的修改,为简单此处略去
        Response.Write(TextBox1.Text);
    }
以上代码正常执行。
但是以下代码就怪了,每次点击Button1,你还没来得及取出TextBox1的值它就被清空了(或以复原为初始化时的值了):
protected void Page_Load(object sender, EventArgs e)
    {
        //注意这里为初始化数值
        TextBox1.Text="";
    }
    protected void Button1_Click(object sender, EventArgs e)
    {
       //比如保存所做的修改,为简单此处略去
        Response.Write(TextBox1.Text);
    }

解决方案 »

  1.   


    protected void Page_Load(object sender, EventArgs e)
      {
      //注意这里为初始化数值
    if(!isPostBack)
    {  
    TextBox1.Text="";
    }
    }
    试试看
      

  2.   

    Button1_Click页面回传TextBox1.Text="";
    if(!IsPostBack)TextBox1.Text="";
      

  3.   

    //ispostback代表页面第一次执行,并将值存入viewstate中。
    if(!IsPostBack)
    {
    //此处获取修改的值并绑定到textbox1
    }
      

  4.   

    试验了下,就算不放在if(!isPostBack)中也不会出现搂住说的那种情况!
      

  5.   

    if(!isPostBack)
    {  
    TextBox1.Text="";
    }
      

  6.   

    还真是我忘记了加if(!isPostBack)这个条件,刚学asp.net老会忘了这茬,谢谢各位!