web-dev-qa-db-fra.com

Obtenir la valeur du code HTML d'entrée dans le code derrière c #

J'ai fait quelques recherches et découvert comment je peux lire une valeur de la zone de texte html d'entrée.

Cela a bien fonctionné pour moi, mais tout de suite cela ne fonctionne pas.

Ceci est mon code, il entre en html retourne null

<input type="text" name="inpNickname" placeholder="Nickname" data-placement="right" data-toggle="tooltip" title="Nickname" id="txtNickname" runat="server"/>

<input type="text" name="inpPassword" placeholder="Password" data-placement="right" data-toggle="tooltip" title="Password" id="txtPassword" runat="server"/>

string Nickname = Request.Form["inpNickname"];
string Password = Request.Form["inpPassword"];

Si je change le Request.Form [] en identifiant, cela ne fonctionne toujours pas.

6
Swag

Puisqu'il fonctionne sur le serveur ...

txtNickname.Value et txtPassword.Value vous donnera ce dont vous avez besoin.

Lorsque vous spécifiez runat="server" vous donnez essentiellement une propriété à votre classe codebehind. Vous pouvez donc accéder à cette propriété et à ses propriétés directement.

23
bluetoft

Pourquoi ne pas utiliser un contrôle serveur ?

<asp:TextBox ID="txtNickname" runat="server" />

Code derrière:

var nickName = txtNickname.Text;
5
Jeremy Wiggins
string Nickname = txtNickname.Text;
string Password = txtPassword.Text;

Ils fonctionnent sur le serveur, voir this

4
Sam Hood

En utilisant name="inpNickname" ne fonctionne pas, utilisez uniquement l'ID donc dans ce cas: txtNickname

1