asp.net-mvc – 如何在ASP.NET MVC 2中执行“causevalidation =
发布时间:2020-12-16 06:57:41 所属栏目:asp.Net 来源:网络整理
导读:我在一个表单上有两个按钮.一个用于提交表单而另一个用于搜索.我不希望搜索按钮触发任何服务器端或客户端验证. 我怎样才能做到这一点? 谢谢. 编辑 我正在服务器上使用Data Annotations进行验证,例如: [Required(ErrorMessage = "Institution is required")
我在一个表单上有两个按钮.一个用于提交表单而另一个用于搜索.我不希望搜索按钮触发任何服务器端或客户端验证.
我怎样才能做到这一点? 谢谢. 编辑 我正在服务器上使用Data Annotations进行验证,例如: [Required(ErrorMessage = "Institution is required")] [Range(1,2,ErrorMessage="Please select an institution")] [DisplayName("Institution")] public int InstitutionId { get; set; } 在客户端我正在使用这个: <% Html.EnableClientValidation(); %> 解决方法
要禁用搜索按钮的客户端验证,请在页面中添加如下脚本:
<script type="text/javascript"> document.getElementById("searchButton").disableValidation = true; </script> 如果触发按钮有一个名为“disableValidation”的字段,其值为true,则不会运行客户端验证. 在服务器端,你的问题有点难以回答,因为这完全取决于你是否以及如何进行模型绑定以及当有人点击该搜索按钮时你的控制器方法会做什么.一个选项可能只是清除ModelState中的所有错误……这是一个方法: private static void ClearErrors(ModelStateDictionary modelState) { foreach (var key in modelState.Keys) { modelState[key].Errors.Clear(); } } 如果您从控制器发布一些示例代码,我可以尝试给出更好的答案. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- AspNet Core在内存中使用,用于在IIS中运行时进行数据保护
- asp.net-mvc – 如何在asp.Net MVC Razor中单击Check Box的
- asp.net – 登录后重定向到上一页
- .NET授权.订单或允许和拒绝元素是否重要?
- asp.net表单身份验证将.net 2更改为.net4
- asp.net – 在应用程序级别之外注册为allowDefinition =’M
- asp.net – BC30560:’default_aspx’在命名空间’ASP’中
- asp.net – SignalR并不总是准备好后start().done()?
- asp.net-mvc-3 – 提交后的mvc3复选框值
- asp.net-mvc-5 – 在MVC5中启用和使用角色管理