昨天在ASP.NET MVC官方网站上看到ASP.NET MVC 3 RC2版本出来,看了斯科特的文章是这个月的10号写的,可以RTM版本也很快就要出来了。
因为英文比较差,借肋用工具翻译了,大概总结了一下,与之前ASP.NET MVC 2 RC2中的版本对比,因为之前的项目中用的是ASP.NET MVC 2。
1、在Controller上加SessionState
我自己起初也已为可以在Action中应用,后来注意看了一下,只能在Controller上应用。
上面有四个属性,第一个是默认的。第二个取消,第三个为只读,第四个为必需的。
具体也没试过,如有问题,请大家指出来。
2、跳过请求验证。允许HTML
之前我们在ASP.NET MVC 2中做项目的时候,经常会遇到一个Content要加入HTML,MVC默认是不允许有不安全的HTML的。会过滤的。
如要加HTML就得要Action上面加[ValidateInput(false)],就可以允许保存带HTML和JS的代码了。
但是这个有点问题,比如保存一条新闻,有标题和内容,内容要有HTML代码,但我的标题不要HTML代码,要过滤的。这样我还得写个JS来过滤。不方便
现在多了个方法直接对单个属性进行AllowHtml。这样就不会存在之前的问题了。
补:这个属性好像是不能正常工作的,我试了一下,不行!
再补问题解决办法:请看下面的图
3、输入可以带HTML
这个正好与2里面相反,他是输出的时候允许带HTML。
4、将一个List通过ViewBag传到页面上来绑定DropList等
个人感觉这个ViewBag很好用,之前在做ASP.NETMVC2时,我们自己处在View上引用一个静态类,来赋值给DropList,这样很不方便。
下面是效果
5、输出缓存的改进
就是不再需求指定一个 VaryByParam属性,让代码显得更为简洁!
已上的图片全部来自己斯科特的文章。
如有什么问题大家请指出来,也可以去看原文: