2013-06-01 9 views
13

Sto cercando di seguire questo example su come convalidare le credenziali. Tuttavia, utilizza asp: controlli per il modulo di accesso.Come accedere ai controlli html nel codice dietro

Se dovessi usare i controlli HTML invece in modo stili CSS possono essere applicati, per esempio

<div id="login"> 
<a href="#" id="lclose"></a> 

     <form action="#" runat="server"> 
      <fieldset> 
       <div class="frame"> 
        <h4>Login</h4> 
        <small>Sign in to your account.</small> 
        <div class="clear"></div> 
        <input type="text" value="Username" class="input-text autoclear" /> 
        <input type="password" value="Password" class="input-text autoclear"/> 
       </div> 

       <div class="separator"></div> 

       <div> 
       <input type="submit" value="Sign in" class="input-submit float-right" runat="server" onserverclick="LoginButton_Click"/> 
       <a href="#" class="float-left">Forgot your password?</a> 
       </div> 

      </fieldset> 
     </form> 

</div> 

Come posso accedere il nome utente & password in codice dietro simile a?

protected void LoginButton_Click(object sender, EventArgs e) 
{ 
    // Validate the user against the Membership framework user store 
    if (Membership.ValidateUser(UserName.Text, Password.Text)) 
    { 
     // Log the user into the site 
     FormsAuthentication.RedirectFromLoginPage(UserName.Text, RememberMe.Checked); 
    } 
    // If we reach here, the user's credentials were invalid 
    InvalidCredentialsMessage.Visible = true; 
} 

Qual è la sintassi corretta invece di UserName.Text, Password.Text?

risposta

14

Aggiungi id e runat server di attributi al tag di ingresso (vedi sotto)

<input type="text" value="Username" class="input-text autoclear" id="Username" runat="server"/> 
<input type="password" value="Password" class="input-text autoclear" id="Password" runat="server"/> 

È inoltre necessario modificare Text in Value nel codice:

protected void LoginButton_Click(object sender, EventArgs e) 
{ 
    // Validate the user against the Membership framework user store 
    if (Membership.ValidateUser(Username.Value, Password.Value)) 
    { 
     // Log the user into the site 
     FormsAuthentication.RedirectFromLoginPage(UserName.Value, RememberMe.Checked); 
    } 
    // If we reach here, the user's credentials were invalid 
    InvalidCredentialsMessage.Visible = true; 
} 

È inoltre possibile aggiungere un html checkbox per RememberMe

<input id="RememberMe" type="checkbox" runat="server" value ="RememberMe"/> 

Ora è possibile controllare gli stati controllato da chiamando RememberMe.Checked

7

Aggiungi runat = "server" e id = "your_id" e dovresti averne accesso. Per esempio:

<input type="text" value="Username" class="input-text autoclear" 
    runat="server" id="UserName" /> 
<input type="password" value="Password" class="input-text autoclear" 
    runat="server" id="Password"/> 

Quindi è possibile accedere ai valori in questo modo:

Membership.ValidateUser(UserName.Value, Password.Value) 
Problemi correlati