В веб-формах ASP.NET ChangePassword: как сделать SuccessTemplate видимым после изменения пароля?

Это позволяет мне изменить пароль, но представление сбрасывается в исходное состояние.

OnInit выглядит так:

changePassword.ChangingPassword += ChangePasswordButton_Click;

и реализация метода:

private void ChangePasswordButton_Click(object sender, EventArgs args)
{
 MembershipUser user = Membership.GetUser();

 string oldPassword = changePassword.CurrentPassword;
 string newPassword = changePassword.NewPassword;

 try
 {
  if (user.ChangePassword(oldPassword, newPassword))
  {
   //TODO: set successtemplate to visible. How? Who knows.
   //Response.Write("Changes were successful");
  }
  else
  {
   //Response.Write("Failed to change password");
  }
 }
 catch (ArgumentException e)
 {
  //Response.Write("Password could not be changed due to: " + e.Message);
 }
}

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

У меня есть и SuccessTemplate, и ChangePasswordTemplate в файле aspx, но я не знаю, как заставить элемент управления ChangePassword отображать SuccessTemplate. Что мне не хватает?


person Adam Asham    schedule 05.09.2009    source источник


Ответы (1)


(Отвечено редактированием вопроса. Преобразовано в ответ вики сообщества. См. Вопрос без ответов, но проблема решена в комментариях (или дополнена в чате) )

ОП написал:

Решено:

changePassword.SuccessTemplate.InstantiateIn(changePassword);
changePassword.ChangePasswordTemplateContainer.Visible = false;
person Community    schedule 31.01.2015