Aktuelle TextBox-Text-Wert in einem button-onClick-event - asp.net
Habe ich so eine Seite
<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>
In der code-behind, ich habe eine Page_Load-die weisen Sie einen Wert in das Textfeld Name.
protected void Page_Load(object sender, EventArgs e)
{
Name.Text = "Enter Your Name Here";
}
Dann auf die Klicken Sie auf die Schaltfläche AddNewName, Schreibe ich es in das Label Neuername
protected void AddNewDivision_Click(object sender, EventArgs e)
{
NewName.Text = Name.Text;
}
Aber, egal was ich Eingabe in das Textfeld Name ein, das Etikett zeigt nur "Geben Sie Hier Ihren Namen ein". Es nie updates, um die eigentlichen Inhalte in das Textfeld Name ein. Was mache ich falsch an diesem code?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Das problem ist, dass man immer überschreiben wird der geänderte Wert in
Page_Load
. Statt, überprüfen Sie dieIsPostBack
Eigenschaft:Sind Sie
re-assigning
den text, um den Namen jedes mal, wennPage_Load
, dass über die schreibt den text, den Sie eingegeben, in das Textfeld ein, bevor Sie erreichenAddNewDivision_Click
Veranstaltung. Ordnen Sie es einmal auf die Seite laden und nicht über schreiben Sie den nachfolgenden Anrufe, die Sie verwenden könnenPage.IsPostBack
Eigenschaft.Oder Sie weisen den text in design html-und
remove
diestatement
auspage_load
Anderen sofort die offensichtliche Frage ist:
Nicht die Sternchen oben. Dann werden Sie sich Wundern, warum diese nicht laufen:
Wieder, beachten Sie die Sternchen. Sie waren nicht aufrufen die richtige leere, in der Tat, Sie waren wahrscheinlich Aufruf eine leere, die gar nicht existieren.