Реагируйте в контроллере, который и если ссылка на действие нажат в поле зрения
-
26-09-2019 - |
Вопрос
На мой взгляд «Редикат» у меня есть ссылка на действия, которую я нажимаю не всегда:
<%= Html.ActionLink("Resend forgotten password", "EditUser", this.Model.UserName, null)%><br />
В моем контроллере «АдминистрированиеController» у меня есть редикатор ActionResult там, я хотел бы назвать методом, который отправит забытый пароль. Но я не знаю, как реагировать, если я нажал на действие действия или нет. Я не хочу отправлять пароль каждый раз, когда я называю действие «Редикат».
Мои действия в администратореcontroller:
[HttpPost]
[ValidateInput(false)]
public ActionResult EditUser(EditUserModel model)
{
try
{
Admin admin = new Admin();
admin.SendForgottenPasswordToUser(model.UserName);
if (!model.Validate())
{
ModelState.AddModelError("", "Please fill missed fields");
}
if (!model.Save())
{
ModelState.AddModelError("", "Error while saving data");
}
else
{
ModelState.AddModelError("", "Successufully edited.");
}
return View(model);
}
Решение
Вы можете создать дополнительный метод действий и изменить ссылку действий:
<% = Html.actionLink («повторно забыл пароль», «ResendPassword», this.model.username, null)%>
Метод действий для отправки пароля затем выглядит что-то подобное:
[HttpPost]
[ValidateInput(false)]
public ActionResult ResendPassword(EditUserModel model)
{
try
{
Admin admin = new Admin();
admin.SendForgottenPasswordToUser(model.UserName);
return View("EditUser", model);
}
catch (Exception ex)
{
// Error handling here.
}
}
Не связан с StackOverflow