使用 Umbraco amd MVC 在 html 中登录失败时显示 div
display div on failed login in html, using Umbraco amd MVC
我有一个 div,我想在其中仅在尝试登录失败时显示登录错误消息。
进行登录的调用是
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult HandleLoginSubmit(LoginModel model)
{
if (!ModelState.IsValid)
{
return CurrentUmbracoPage();
}
if (Membership.ValidateUser(model.Username, model.Password))
{
FormsAuthentication.SetAuthCookie(model.Username, createPersistentCookie: false);
return Redirect(model.ReturnUrl ?? "/login");
}
else
{
ModelState.AddModelError(nameof(model.Username), "Incorrect UserName");
ModelState.AddModelError(nameof(model.Password), "Incorrect password");
return CurrentUmbracoPage();
}
}
而 div 是
<div class="col-lg-10 alert alert-danger justify-content-around mt-2" style="margin-left:auto; margin-right:auto;">
<div class="container">
<div class="alert-icon">
<i class="material-icons">error_outline</i>
</div>
<button type="button" class="close" data-dismiss="alert" aria-label="Close">
<span aria-hidden="true"><i class="material-icons">clear</i></span>
</button>
<b>Error Alert: </b>
</div>
</div>
如果登录成功,我应该return调用什么,我如何在html中引用它?
您的 Umbraco 版本似乎是 7.x。使用以下控制器名称和方法名称,例如:
public class RecoverUserDataSurfaceController : SurfaceControllerBaseController
{
[HttpPost]
public ActionResult SubmitEmailForPasswordReset(UserModel model)
{
if (!ModelState.IsValid)
{
return CurrentUmbracoPage();
}
bool success = _recoverUnpwWorkflow.RecoverPasswordSubmitEmail(model);
TempData.Add("Success", success);
return RedirectToCurrentUmbracoPage();
}
}
html应该是:
<form method="post" id="form-lost-password">
@using(Html.BeginUmbracoForm<UmbracoApp.Controllers.RecoverUserDataSurfaceController>("SubmitEmailForPasswordReset"))
{
<div class="text-field validate-email required">
<label for="EmailAddress">Email Address</label>
@Html.ValidationMessageFor(x => x.EmailAddress)
@Html.TextBoxFor(x => x.EmailAddress, new { @placeholder = "name@domain.com" })
</div>
<div class="submit-field">
<input type="submit" value="Submit" title="Submit" class="btn-default" />
</div>
}
</form>
希望对您有所帮助。
我有一个 div,我想在其中仅在尝试登录失败时显示登录错误消息。 进行登录的调用是
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult HandleLoginSubmit(LoginModel model)
{
if (!ModelState.IsValid)
{
return CurrentUmbracoPage();
}
if (Membership.ValidateUser(model.Username, model.Password))
{
FormsAuthentication.SetAuthCookie(model.Username, createPersistentCookie: false);
return Redirect(model.ReturnUrl ?? "/login");
}
else
{
ModelState.AddModelError(nameof(model.Username), "Incorrect UserName");
ModelState.AddModelError(nameof(model.Password), "Incorrect password");
return CurrentUmbracoPage();
}
}
而 div 是
<div class="col-lg-10 alert alert-danger justify-content-around mt-2" style="margin-left:auto; margin-right:auto;">
<div class="container">
<div class="alert-icon">
<i class="material-icons">error_outline</i>
</div>
<button type="button" class="close" data-dismiss="alert" aria-label="Close">
<span aria-hidden="true"><i class="material-icons">clear</i></span>
</button>
<b>Error Alert: </b>
</div>
</div>
如果登录成功,我应该return调用什么,我如何在html中引用它?
您的 Umbraco 版本似乎是 7.x。使用以下控制器名称和方法名称,例如:
public class RecoverUserDataSurfaceController : SurfaceControllerBaseController
{
[HttpPost]
public ActionResult SubmitEmailForPasswordReset(UserModel model)
{
if (!ModelState.IsValid)
{
return CurrentUmbracoPage();
}
bool success = _recoverUnpwWorkflow.RecoverPasswordSubmitEmail(model);
TempData.Add("Success", success);
return RedirectToCurrentUmbracoPage();
}
}
html应该是:
<form method="post" id="form-lost-password">
@using(Html.BeginUmbracoForm<UmbracoApp.Controllers.RecoverUserDataSurfaceController>("SubmitEmailForPasswordReset"))
{
<div class="text-field validate-email required">
<label for="EmailAddress">Email Address</label>
@Html.ValidationMessageFor(x => x.EmailAddress)
@Html.TextBoxFor(x => x.EmailAddress, new { @placeholder = "name@domain.com" })
</div>
<div class="submit-field">
<input type="submit" value="Submit" title="Submit" class="btn-default" />
</div>
}
</form>
希望对您有所帮助。