Как получить доступ к элементам управления html в коде
Я пытаюсь следовать этому примеру о том, как проверять учетные данные. Однако он использует 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 credentials were invalid
InvalidCredentialsMessage.Visible = true;
}
Каков правильный синтаксис вместо UserName.Text, Password.Text
?
Ответы
Ответ 1
Добавить id
и runat
атрибуты сервера во входной тег (см. ниже)
<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 credentials were invalid
InvalidCredentialsMessage.Visible = true;
}
Вы также можете добавить html checkbox
для RememberMe
<input id="RememberMe" type="checkbox" runat="server" value ="RememberMe"/>
Теперь вы можете проверить проверенные состояния, вызвав RememberMe.Checked
Ответ 2
Добавьте 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)
Ответ 3
Вы можете получить к ним доступ из кода, добавив runat="server"
в html-элементы.
http://www.w3schools.com/aspnet/aspnet_refhtmlcontrols.asp
В приведенной ниже ссылке приведен пример того, как вы можете это сделать
http://msdn.microsoft.com/en-us/library/aa478973.aspx