Asp.net
在按鈕 onClick 事件中獲取目前 TextBox 文本值 - asp.net
我有這樣一個頁面
<form runat="server" id="NewForm"> Name: <asp:TextBox ID="Name" runat="server"></asp:TextBox> <asp:Button ID="AddNewName" runat="server" Text="Add" OnClick="AddNewName_Click" /> <asp:Label ID="NewName" runat="server"></asp:Label> </form>在後面的程式碼中,我有一個 Page_Load,它為 TextBox 名稱分配了一個值。
protected void Page_Load(object sender, EventArgs e) { Name.Text = "Enter Your Name Here"; }然後點擊 AddNewName 按鈕,我將它寫在 Label NewName 中
protected void AddNewDivision_Click(object sender, EventArgs e) { NewName.Text = Name.Text; }但是,無論我在名稱文本框中輸入什麼,標籤都只顯示“在此處輸入您的姓名”。它永遠不會更新到名稱文本框中的實際內容。我對這段程式碼做錯了什麼?
問題是你總是覆蓋
Page_Load. 相反,請檢查IsPostBack屬性:protected void Page_Load(object sender, EventArgs e) { if(!IsPostBack) Name.Text = "Enter Your Name Here"; }
re-assigning每次覆蓋您在到達事件Page_Load之前在 TextBox 中輸入的文本時,您都是要命名的文本。AddNewDivision_Click要在頁面載入時分配一次並且不要覆蓋後續呼叫,您可以使用Page.IsPostBack屬性。if(!Page.IsPostBack) Name.Text = "Enter Your Name Here";或者您可以分配設計 html 中的文本
remove和statement來自page_load<asp:TextBox ID="Name" runat="server" Text="Enter Your Name Here"></asp:TextBox>