c# - asp-validation-summary 阻止返回按钮
问题描述
我有一个页面,其中包含对模型进行验证的表单。问题是它阻止了取消按钮。
当用户单击取消按钮时,它会强制他们提供新密码并确认。它应该只是将它们发送回上一页。
@model Auth.Controllers.Account.RecoverPasswordViewModel
<div class="mdl-typography--text-center">
<h2 class="mdl-typography--headline">Gendan kodeord</h2>
<p class="mdl-typography--body-1">Gendand kodeord til din konto</p>
</div>
<div asp-validation-summary="ModelOnly" class="mdl-color-text--red-400"></div>
@using (Html.BeginForm("RecoverPassword", "Account", FormMethod.Post, new {@class = "form-horizontal", role = "form"})) {
<input type="hidden" asp-for="Code" />
<fieldset>
<div class="mdl-textfield mdl-js-textfield mdl-textfield--floating-label">
<input class="mdl-textfield__input" asp-for="NewPassword" type="password" autocomplete="off" required autofocus/>
<label class="mdl-textfield__label" asp-for="NewPassword">Nyt kodeord</label>
<span asp-validation-for="NewPassword" class="mdl-textfield__error"></span>
</div>
<div class="mdl-textfield mdl-js-textfield mdl-textfield--floating-label">
<input class="mdl-textfield__input" asp-for="ConfirmNewPassword" type="password" autocomplete="off" required/>
<label class="mdl-textfield__label" asp-for="ConfirmNewPassword">Bekræft nyt kodeord</label>
<span asp-validation-for="ConfirmNewPassword" class="mdl-textfield__error"></span>
<input type="hidden" asp-for="ReturnUrl" value="@Model.ReturnUrl" />
</div>
<div class="actions">
<button class="mdl-button mdl-button--primary" onclick="window.history.back()" causesvalidation="false">Gå tilbage</button>
<button class="mdl-button mdl-button--primary mdl-button--raised mdl-js-button mdl-js-ripple-effect">Gem</button>
</div>
</fieldset>
}
我尝试在返回按钮上添加 Causevalidation="false" 但它没有帮助。有没有办法强制它只在保存按钮上验证?
解决方案
不要使用windows.history.back()
,使用重定向(RedirectToAction
等)。
windows.history.back()
将触发先前的请求被重新发送(如果您是从发布请求到达那里的),这是不受欢迎的行为。
而是创建一个链接
<a class="mdl-button mdl-button--primary mdl-button--raised mdl-js-button mdl-js-ripple-effect"
asp-controller="MyController" asp-action="Index">Back</a>
推荐阅读
- signalr - Visual Studio 负载测试中的 Signalr 连接问题
- c# - 如何在 MVC 中路由到 url.com/ControllerA/ControllerB/ControllerB 的操作
- angular - 与谷歌日历 API 同步
- activerecord - Yii2 over partition 到 activerecord
- java - Struts2 Iterator Sort List 倒序排列
- php - 通过数组中的路径更改json中的值
- javascript - 如何在javascript中使用paremt post消息关闭Iframe
- reactjs - 如何使用现有的登录 Chrome 用户配置文件正确设置 VS Code 以在 chrome 中调试?
- git - 在 git 上编写多行提交消息是一种不好的做法吗?
- excel - VBA根据标准提取唯一值