我在LOAD事件中给文本框赋了初值,然后运行网页,手动修改文本框的值,然后我点一按钮触发事件,此时我想在事件中获得前面手动修改文本框的值,可是却发觉依然为初值.请问这应该如何解决?

解决方案 »

  1.   

    我在LOAD事件中给文本框赋了初值
    把這個動作寫到Page_Load的
    if(!Page.IsPostBack)
    {
        //這里給賦值
    }
      

  2.   

    是不是你的页面初始化中没有加if (!IsPostBack)判断?
    否则点击Button后,获得的肯定是你手动输入后的值!
    protected void Page_Load(object sender, EventArgs e)
    {
      if (!IsPostBack)
      {
         this.TextBox1.Text = "这里的赋值要在 if (!IsPostBack) 内"     
      }
    }
      

  3.   

    你的赋初值操作需要放在!page.ispostback里,否则,页面每次onload都会先执行你的赋值操作,你之前赋的值就
    好像被“冲刷”掉了,因此你每次都得到了一个初始值
      

  4.   

    在LOAD事件中给文本框赋值时要加
    If(!IsPostBack)
    {
      //赋值
    }因为当你点按钮时页面提交时会读到LOAD事件里的程序
      

  5.   

    没有问题。<html xmlns="http://www.w3.org/1999/xhtml" >
    <head runat="server">
        <title></title>
        <script type="text/javascript">        window.onload = function()
            {
                document.getElementById("txtname").value = "test";
            }
        
        </script>
    </head>
    <body>
        <form id="form1" runat="server">
        <div>
            <asp:TextBox ID="txtname" runat="server" />
            <asp:button id="btn" runat="server" Text="test" onclick="btn_Click" />     
            <asp:Label ID="Label1" runat="server" Text="Label"></asp:Label>
        </div>
        </form>
    </body>
    </html>protected void btn_Click(object sender, EventArgs e)
            {
                Label1.Text = txtname.Text;
            }
      

  6.   

    5楼的方法也可以,在前台页面先将你的TextBox赋值,再后台赋值,不过这样是不是多此一举?
      

  7.   

    你这样写当然不行了,当你点一按钮触发事件的时候程序就又走了Page-Load事件,又把这个值给初始化到你付的值了,
    1楼的方法可行