簡體   English   中英

如何訪問代碼中的html控件

[英]How to access html controls in code behind

我試圖按照這個例子來驗證憑證。 但是,它使用asp:controls作為登錄表單。

如果我使用html控件,那么可以應用CSS樣式,例如

<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>

如何在代碼后面的代碼中訪問用戶名和密碼?

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;
}

什么是正確的語法而不是UserName.Text, Password.Text

idrunat服務器屬性添加到輸入標記(見下文)

<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"/>

您還需要在代碼中將Text更改為Value

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;
}

您還可以為RememberMe添加html checkbox

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

現在,您可以通過調用RememberMe.Checked來檢查已檢查的狀態

添加runat =“server”和id =“your_id”,您應該可以訪問它們。 例如:

<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"/>

然后你可以訪問這樣的值:

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

您可以通過在html元素上添加runat="server"從后面的代碼訪問它們。

http://www.w3schools.com/aspnet/aspnet_refhtmlcontrols.asp

以下鏈接有一個如何執行此操作的示例

http://msdn.microsoft.com/en-us/library/aa478973.aspx

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM