2013-07-17 12 views
5

Ho fatto qualche ricerca e ho scoperto come posso leggere un valore dalla casella di testo HTML di input.Ottieni il valore dall'input html nel codebehind C#

Questo ha funzionato bene per me, ma subito non funziona.

Questo è il mio codice, input HTML restituisce 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"]; 

Se cambio la Request.Form [] per gli ID, ma ancora non funziona.

+0

Hai provato ottenerlo dalla ID? –

+0

Sì, anche questo non funziona – Swag

+1

Cosa intendi con "non funziona"? Le stringhe restano nulle? –

risposta

17

Dal momento che è in esecuzione sul server ...

txtNickname.Value e txtPassword.Value vi darà quello che ti serve.

Quando si specifica runat="server" si sta essenzialmente dando una proprietà alla classe codebehind. Quindi puoi accedere direttamente a quella proprietà e alle sue proprietà.

+0

Quando provo a farlo, non riesco a mettere. Testo dopo txtNickname e txtPassword – Swag

+0

usa invece txtNickname.Value. – bluetoft

+0

Grazie! Ha funzionato! – Swag

3

Perché non utilizzare un server control?

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

codice dietro:

var nickName = txtNickname.Text; 
3
string Nickname = txtNickname.Text; 
string Password = txtPassword.Text; 

Stanno in esecuzione sul server, vedere this

Problemi correlati