c# - 如何访问隐藏代码中的html控件

标签 c# asp.net

我正在尝试关注这个 example关于如何验证凭据。但是,它使用 asp: 登录表单控件。

如果我改用 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 来检查选中的状态

关于c# - 如何访问隐藏代码中的html控件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16875238/

相关文章:

c# - ASP.NET核心: How to get original path in error page by 404 status code

c# - DatagridTemplateColumn 中的动态

c# - 无法在 varchar 错误上调用方法

jquery - 使用 JQuery 迭代隐藏字段

c# - edititemtemplate gridview asp.net 中的下拉列表

c# - Azure Function : system. private.corelib:执行函数时出现异常

c# - 使用 Free 3 of 9 字体生成条形码

c# - Log4net File Appender 未在服务器中记录异常

.net - 带有 ASP.NET 的临时文件下载链接

asp.net - 使 TextBox 字段覆盖父 div,应该是跨浏览器的