UnobtruSive AJAX和客户端验证
ASP.NET MVC 已经默认开启非侵入试js和客户端验证,在web.config可以看到如下配置:
<configuration> <appSettings> <add key="ClientValidationEnabled" value="true" /> <add key="UnobtrusiveJavaScriptEnabled" value="true" /> </appSettings> </configuration>
如果想在指定页面使用此功能,直接在页面添加非侵入式js
同时添加视图的时候,要勾选引入脚本库(默认勾选),客户端验证才会启用
原理
使用的html辅助方法,是为基于元数据的模型构建输入元素,如TextBoxFor看到验证元数据(Name属性上的Required等注解)时,会将这些元数据放入到渲染的HTML中
尽可能的把js引用写到页面的底部 body标签结束之前,这样做是因为如果把script标签放在页面的底部,当浏览器遇到script标签,会阻止其他内容的下载,直到浏览器检索完整个脚本,这样会减慢页面的加载速度。