ASP.NET Web Forms 4.5的新特性(二):针对HTML5的更新和Unobtrusive Validation
在前一篇文章中我们介绍了两个新特性强类型数据控件和Bundling。这次我们再介绍两个新特性ASP.NET Web Forms 4.5中针对HTML5的更新和Unobtrusive Validation。针对HTML5的更新在ASP.NET Web Forms 4.5中控件TextBox的TextBoxMode从之前的三个SingleLine/MultiLine/Password增加到了16个详细见MSDN。这样使得做表单类页面的时候降会大大地降低验证的代码量提高开发效率将更多的人力资源放在业务逻辑上。FileUpload控件终于开始支持多文件上传可以通过AllowMultiple属性打开。详细使用可以参照MSDN的FileUpload类说明。当然还包含了如对HTML5表单的验证、HTML5的标记也可以使用“~”去根目录、增加UpdatePanel对HTML5表单的支持。Unobtrusive Validation所谓Unobtrusive Validation就是一种隐式的验证方式将验证代码和HTML分离。要具体了解其改进我们先看看ASP.NET Web Forms 4.5之前是怎么处理验证逻辑的。我们在页面中添加了这个简单的输入表单。1body2formidform1runatserver3div4ul5li6asp:TextBoxIDTextBox_NumberrunatserverTextModeSingleLine/asp:TextBox7asp:RequiredFieldValidatorIDRequiredFieldValidator1runatserver8ErrorMessage*Required9ControlToValidateTextBox_Number10EnableClientScripttrue/asp:RequiredFieldValidator11asp:RangeValidatorIDRangeValidator1runatserver12ControlToValidateTextBox_Number13ErrorMessage*Range 10~10014MaximumValue10015MinimumValue10/asp:RangeValidator16/li17li18asp:ButtonIDButton1runatserverTextSubmit//li19/ul20/div21/form22/body当我们查看页面生成的源代码的时候会发现下面这样的内容。后台将验证的JS代码放在了页面中而当页面验证逻辑很复杂的时候会产生大量的内联代码在后面对页面做优化如JS压缩CDN页面压缩、维护的时候很不方便。而在ASP.NET Web Forms 4.5中可以将此类的验证逻辑做分离。可以在Web.config中添加下面这样的配置。1appSettings2!--启用Unobtrusive Validation默认开启--3addkeyValidationSettings:UnobtrusiveValidationModevalueWebForm/45!--关闭Unobtrusive Validation--6!--add keyValidationSettings:UnobtrusiveValidationMode valueNone/--7/appSettings或者在Application_Start中添加此段即可。1voidApplication_Start(objectsender, EventArgs e)2{3//Enabling UnobtrusiveValidation application wide4ValidationSettings.UnobtrusiveValidationMode UnobtrusiveValidationMode.WebForms;5}而如果只想控制某个页面开启此功能只需加上这段代码。1Page.UnobtrusiveValidationMode System.Web.UI.UnobtrusiveValidationMode.WebForms;现在我们再来看看生成到客户端的HTML代码的样子。我们发现验证类的信息已经变成了HTML5中的表单特有的属性data-*而页面中的内联JS等内容都已经被处理且自动引入了jQuery进行验证这部分可以参考Unobtrusive JavaScript。

相关新闻

最新新闻

日新闻

周新闻

月新闻