如何使用JavaScript重定向到主页
我正在使用MVC。在用户重置密码后,我将显示感谢页面(视图)。我喜欢通过单击页面中的任意位置重定向到主页(我不允许只使用jquery JavaScript) 这是一种返回感谢页面视图的方法:如何使用JavaScript重定向到主页,javascript,jquery,html,Javascript,Jquery,Html,我正在使用MVC。在用户重置密码后,我将显示感谢页面(视图)。我喜欢通过单击页面中的任意位置重定向到主页(我不允许只使用jquery JavaScript) 这是一种返回感谢页面视图的方法: [HttpPost] [Route("resetpassword")] public async Task<ActionResult> ResetPassword(ResetPasswordViewModel resetPasswordViewModel) {
[HttpPost]
[Route("resetpassword")]
public async Task<ActionResult> ResetPassword(ResetPasswordViewModel resetPasswordViewModel)
{
string email = resetPasswordViewModel.Email;
string token = Request["token"].ToString();
if (ModelState.IsValid)
{
if (resetPasswordViewModel.Password == resetPasswordViewModel.ConfirmPassword)
{
var user = Task.Run(() => Service.GetUserByEmailAsync(email)).Result;
if (user != null)
{
userRequest.Id = user.FirstOrDefault().Id;
userRequest.Password = resetPasswordViewModel.Password;
userRequest.Token = token;
await Service.UpdateUserAsync(userRequest);
}
}
else
//stay in same view and show error if there is any
{
ModelState.AddModelError("", "Please enter the same value again.");
return View(resetPasswordViewModel);
}
}
else
{
ModelState.AddModelError("", "Password is Required Field.");
return View(resetPasswordViewModel);
}
//in case on success toes to ThankYouResetPassword view
return View("ThankYouResetPassword");
}
[HttpPost]
[路由(“重置密码”)]
公共异步任务ResetPassword(ResetPasswordViewModel ResetPasswordViewModel)
{
字符串email=resetPasswordViewModel.email;
字符串令牌=请求[“令牌”]。ToString();
if(ModelState.IsValid)
{
if(resetPasswordViewModel.Password==resetPasswordViewModel.ConfirmPassword)
{
var user=Task.Run(()=>Service.GetUserByEmailAsync(email)).Result;
如果(用户!=null)
{
userRequest.Id=user.FirstOrDefault().Id;
userRequest.Password=resetPasswordViewModel.Password;
userRequest.Token=Token;
等待服务。UpdateUserAsync(userRequest);
}
}
其他的
//保持在同一视图中,如果有错误,则显示错误
{
AddModelError(“,”请再次输入相同的值。“);
返回视图(resetPasswordViewModel);
}
}
其他的
{
AddModelError(“,”密码是必填字段“);
返回视图(resetPasswordViewModel);
}
//以防成功,感谢您当前的密码视图
返回视图(“ThankYouResetPassword”);
}
这是一个JavaScript模式的ThankYouResetPassword视图:
<div id="ThankYou-Page" class="modal">
<!-- Modal content -->
<div class="modal-content">
<span class="close">x</span>
<div id="forgot">
<div class="modal-heading">Forgot Password?</div>
<hr class="forgot-password-line" />
<br />
<p>An email has been sent to you with the password reset link.</p>
<br />
</div>
</div>
x
忘记密码了?
已向您发送带有密码重置链接的电子邮件
您可以执行以下操作 window.location=“”
当框显示时,您可以向页面主体添加事件侦听器
document.body.addEventListener('click', function() {
document.location.replace('redirectPage.html');
}
我们希望使用location.replace,因为我们不希望他们点击refresh或back重新提交表单。这对于现代浏览器来说不是什么问题,但仍然值得防范。为什么不添加onclick属性
<!-- Modal content -->
<div class="modal-content" onclick="window.location.href='/'">
<span class="close">x</span>
<div id="forgot">
<div class="modal-heading">Forgot Password?</div>
<hr class="forgot-password-line" />
<br />
<p>An email has been sent to you with the password reset link.</p>
<br />
</div>
</div>
x
忘记密码了?
已向您发送带有密码重置链接的电子邮件