ASP.Net: проверка Ajax для регистрации в качестве пользователя? - PullRequest
0 голосов
/ 30 октября 2009

У меня есть регистрация на моем сайте.

Я хочу, чтобы это выглядело круто, поэтому я планирую, чтобы после того, как текстовое поле оставалось, зеленый или красный знак прямо за текстовым полем сообщает пользователю, например, имя пользователя не используется, адрес электронной почты не используется, пароль введен правильно дважды и т. д.

Да, я знаю элементы управления проверкой, но есть только несколько функций, не так ли? Например. для проверки, если адрес электронной почты не используется, я должен проверить базу данных и так далее ...

Есть идеи?

Ответы [ 2 ]

1 голос
/ 30 октября 2009

Я бы обернул все это в панель обновлений, это то, что я делаю довольно часто ...

<asp:scriptmanager runat="server" id="sm1" />
<asp:updatepanel runat="server" id="up1" updatemode="Conditional">
<contenttemplate>
    <asp:textbox runat="server" id="tbUsername" autopostback="true" ontextchanged="tbUsername_TextChanged" />
    <asp:customvalidator runat="server" text="Email already used" id="cusValEmail" />
    <asp:textbox runat="server" id="tbPassword"  />
</contenttemplate>
</asp:updatepanel>

и в коде

protected void tbUsername_TextChanged(object sender, EventArgs e)
{
    //call DB etc and mark validator as needed
    cusValEmail.IsValid = false;
}

Ключ устанавливает для автостопа текстового поля значение true и использует событие ontextchanged.

0 голосов
/ 30 октября 2009

Простой способ сделать это - создать действие контроллера (если вы используете MVC) или страницу (если вы используете обычный asp / asp.net), в которой вы публикуете имя пользователя, адрес электронной почты и т. Д. это возвращает простое текстовое значение цвета - красный или зеленый, в зависимости от того, все ли параметры были опубликованы, в порядке. Затем вы можете применить это к цветовому стилю коробки. Если вы не хотите / не хотите, чтобы это был вызов https, тогда я, вероятно, не включил бы в него пароли, ваш код возврата ajax мог бы сказать

if (<password are equal>)
{
  set style-colour to the return value
}
else
{
  set to red
}

или, возможно, даже лучше, что-то вроде

if (<passwords are equal>)
{
  run ajax call
}
else
{
 set style-colour to red
}

и возврат ajax устанавливает цвет для возвращаемого значения, таким образом, вы также сохраняете туда-обратно, если пароли не равны

Любая причина, по которой вы хотите / должны сделать это с помощью ajax, а не обычной обратной передачи (вы можете использовать панель обновления для частичной обратной передачи)?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...