2009-06-08 64 views
4

由於某些原因,我放入文本框的任何內容都無法保存。有人能告訴我爲什麼會發生這種情況嗎?下面是簡化的代碼我使用:文本框值不保存

的.aspx

<body> 
    <form id="form1" runat="server"> 
    <div> 
    Try this: 
     <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox> 
     <asp:Button ID="Button1" runat="server" Text="Button" onclick="Button1_Click" /> 
    </div> 
    </form> 
</body> 

.aspx.cs

protected void Page_Load(object sender, EventArgs e) 
{ 
    TextBox1.Text = "Test 1"; 
} 

protected void Button1_Click(object sender, EventArgs e) 
{ 
    Response.Write(TextBox1.Text); 
} 

的回覆於總是出來是 「測試1」 不管我放進去。 感謝您的幫助!

+0

只是一個小注釋:不要在你的事件處理程序使用的Response.Write() - 在頁面還沒有開始渲染,文本將最有可能在錯誤的地方結束。而是使用Label或Literal控件。 – 2009-06-08 01:14:22

回答

17

在設置之前,您需要檢查您的Page_Load事件中的後期回放。否則,Page_Load將始終覆蓋您在文本框中輸入的內容。

protected void Page_Load(object sender, EventArgs e) 
{ 
    if(!IsPostBack) 
    { 
    TextBox1.Text = "Test 1"; 
    } 
}