私はMVCに投稿するリセットパスワードメソッドを持っています。 [Submit]ボタンをクリックすると、URLが次のように表示されます:http://localhost:11580/resetpassword URLにアクションメソッドの名前が表示されます。そのため、ページのリンクがもう機能しないため、resetpasswordアクション名?MVCフォーム投稿後のURL内のアクション名を取り除く方法
私は私のインデックスページにあるリンクであるために参照していますリンク:すべてのコードとして
@Html.ActionLink("Forgot Password", "forgotPassword", new { controller = "Home" } , new { id = "btn-forgot-password"})
はインデックスページ上でモーダルです。
私はこれが私の方法で、MVCのフォームポストを使用しています:
[HttpGet]
[Route("resetpassword")]
[AllowAnonymous]
public async Task<ActionResult> ResetPassword(ResetPasswordRequest resetPasswordRequest)
{
.....
return View("ForgotPasswordError");
}
else
{
.......
return View("Index", logInRequest);
}
}
}
catch (Exception)
{
throw;
}
return View("Index", logInRequest);
}
[HttpPost]
[Route("resetpassword")]
public async Task<ActionResult> ResetPassword(ResetPasswordViewModel resetPasswordViewModel)
{
....
if (ModelState.IsValid)
{
......
}
}
else
{
ModelState.AddModelError("", "Please enter the same value again.");
return View(resetPasswordViewModel);
}
}
else
{
ModelState.AddModelError("", "Password is Required Field.");
return View(resetPasswordViewModel);
}
LogInRequest logInRequest = new LogInRequest();
logInRequest.IsThankYouPage = true;
return View("Index", logInRequest);
}
そして、これが掲示されて表示される。
@model Models.LogInRequest
<link href="~/Content/Styles/ModalStyle.css" rel="stylesheet" />
<link href="~/Content/Styles/style.css" rel="stylesheet" />
@{
Layout = "~/Views/Shared/MasterLayout.cshtml";
}
@if (Model != null && Model.IsResetPassword)
{
<div class="page resetPassword">
@using (Html.BeginForm("resetpassword", "Home", FormMethod.Post))
{
@Html.AntiForgeryToken()
<div class="modal">
<div class="modal-content">
<span class="close">X</span>
<h2 id="modal-title">Reset Your Garage Password</h2>
<hr />
<div>
<div class="create-user-label">Email Address</div>
<div><input type="email" name="Email" placeholder="[email protected]" class="create-new-password-textbox-grey" readonly [email protected] /></div>
<div class="create-user-label">Password</div>
<div><input type="Password" id="Password" name="Password" placeholder="Create Password" class="create-new-password-textbox" onblur="validatePassword();" /></div>
<div id="resetPassword-default-message" class="resetPassword-default-message">Password must be at least 8 characters.</div>
<div id="resetpassword-message"><label class="resetpassword-error" id="password-error"></label> </div>
<div class="create-user-label">Confirm Password</div>
<div><input type="Password" name="ConfirmPassword" id="ConfirmPassword" placeholder="Re-enter Password" class="create-new-password-textbox" onblur="validateConfirmPassword();" /></div>
<div id="confirmPassword-message"><label class="resetpassword-error" id="confirmPassword-error"></label> </div>
<br />
<div>
<input type="submit" id="btnSubmit" value="Submit" class="orange-button create-password-button-half" onclick="validatePasswordSubmit();" />
<input type="hidden" value="@Model.Token" name="token" />
</div>
</div>
</div>
</div>
}
</div>
}
@if(Model.IsThankYouPage)
{
<div id="ThankYou-Page" class="modal">
<!-- Modal content -->
<div class="modal-content">
<div class="close">x</div>
<div id="reset">
<div class="modal-heading">Success!</div>
<hr class="forgot-password-line" />
<br />
<p>Your password has been successfully reset. Please sign in.</p>
<br />
</div>
</div>
</div>
<script type="text/javascript">
renderThankYouPage();
</script>
}
<script src="~/Scripts/jquery-1.10.2.min.js"></script>
<script src="~/Scripts/User/CreatePassword.js"></script>
あなたは何を参照していますか? (あなたの質問は意味をなさない) –