2013-05-22 2 views
-1

Мне было поручено выполнить эту задачу. Моя страница содержит два текстовых поля (для нового пароля и подтверждения) и кнопку для сохранения данных. В событии с нажатием кнопки я сначала проверяю, являются ли два текстовых поля пустыми или существует несоответствие, или введенное значение не соответствует правилам. После того, как пользователь вводит правильный пароль в двух текстовых окнах и нажимает кнопку «Сохранить», в это время всплывающее окно отобразит сообщение «подтвердить изменение пароля». Только после нажатия «ОК» данные будут сохранены в базе данных. Когда пользователь нажимает на отмену данных, не сохраняется и возвращает false.Сброс пароля - есть всплывающее окно, которое подтверждает, когда пароль сбрасывается

Здесь я пишу мой код:

protected void btnChangePassword_Click(object sender, EventArgs e) 
{ 
    if (txtNewPassword.Text.Trim().Length <= 0) 
    { 
    } 

    if (txtConfirmNewPassword.Text.Trim().Length <= 0) 
    { 
    } 

    if (txtNewPassword.Text.Trim() != txtConfirmNewPassword.Text.Trim()) 
    { 
    } 
    else 
    { 
     //correct format and save the values.here i want to see a popup msg first and then click ok save values,otherwise exit.. 
    } 
} 

Как я могу это сделать?

ответ

0

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

Лучший способ сделать это - проверить пароль на клиенте с помощью javascript или jQuery и отобразить диалоговое окно подтверждения, если txtNewPassword == txtConfirmNewPassword, а затем вызвать сервер для сохранения изменений.

+0

'То, что вы пытаетесь сделать, это не представляется возможным с помощью кода сервера alone': это не так. Пост-обработка страницы может отображать «всплывающее окно» в форме «div». AJAX можно было бы реализовать для этого. – Paul

+1

это полностью верно только с помощью кода сервера, если вы не добавляете код клиента независимо от способа его добавления. – Ted

+0

Из-за самой природы ASP.NET настойчивость предоставляется через скрытый элемент «VIEWSTATE» на странице. Переменные передаются назад и вперед. Когда страница отправляется на сервер, страница может быть повторно отображена с того, что она была основана на ее «VIEWSTATE». Затем вы можете изменить существующие объекты на стороне сервера на странице, которая будет отображаться или скрываться по мере необходимости. Я делаю это все время на своих страницах. – Paul

0

здесь пример кода в Java Script для проверки на стороне клиента вызвать функцию в OnClientClick случае

function validate() { 

       if (document.getElementById("<%=txtNewPassword.ClientID%>").value == 0) { 
        alert("Please Enter New Password."); 
        document.getElementById("<%=txtNewPassword.ClientID%>").focus(); 
        return false; 
       } 
       if (document.getElementById("<%=txtConfirmPassword.ClientID%>").value == 0) { 
        alert("Please Enter Confirm Password."); 
        document.getElementById("<%=txtConfirmPassword.ClientID%>").focus(); 
        return false; 
       } 
       if (document.getElementById("<%=txtNewPassword.ClientID%>").value != document.getElementById("<%=txtConfirmPassword.ClientID%>").value) { 
        alert("Provided Confirmation Password is wrong."); 
        document.getElementById("<%=txtConfirmPassword.ClientID%>").focus(); 
        return false; 
       } 
        alert("do you want to save password"); 
      } 
0

вы можете использовать fancybox всплывал любую ifram или страницу, которую вы хотите

  • вы необходимо подтвердить creat.aspx, чтобы подтвердить смену пароля

  • , чтобы открыть подтверждение.aspx из кода позади использования этого кода

    ClientScript.RegisterStartupScript(Page.GetType(), "key", "window.onload=function(){parent.location.href = 'confirm.aspx';}", true); 
    
Смежные вопросы