Obtenez de l'actuelle zone de texte valeur de Texte dans un bouton de l'événement onClick - asp.net
J'ai comme une page
<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>
Dans le code derrière, j'ai un Document qui attribue une valeur à la zone de texte Nom.
protected void Page_Load(object sender, EventArgs e)
{
Name.Text = "Enter Your Name Here";
}
Puis dès le Clic sur le bouton AddNewName, je vais l'écrire dans l'Étiquette NewName
protected void AddNewDivision_Click(object sender, EventArgs e)
{
NewName.Text = Name.Text;
}
Mais, peu importe ce que je entrée dans la zone de texte Nom, l'Étiquette affiche seulement "Entrez Votre Nom Ici". Il n'a jamais les mises à jour du contenu réel dans la zone de texte Nom. Ce que je fais mal avec ce code?
Vous devez vous connecter pour publier un commentaire.
Le problème est que vous êtes toujours en écrasant la valeur modifiée dans
Page_Load
. Au lieu de cela, cochez laIsPostBack
propriété:Vous
re-assigning
le texte au Nom de tous les tempsPage_Load
que plus écrit le texte que vous avez saisi dans la zone de texte avant d'atteindreAddNewDivision_Click
événement. Pour assigner une fois au chargement de la page et de ne pas écrire les appels suivants, vous pouvez utiliserPage.IsPostBack
propriété.Ou vous pouvez affecter le texte dans la conception html et
remove
lastatement
depage_load
Un autre immédiatement évidente question est:
Pas les astérisques ci-dessus. Alors, vous vous demandez pourquoi cela ne fonctionne pas:
À nouveau, notez la forme d'astérisques. Vous n'étiez pas à l'appel de la corriger vide, en fait, vous avez probablement été d'appeler un vide qui n'existait même pas.