*      新的Page属性

    附件: image5.png

    任何ASP.NET开发人员对于@Page标签都不会陌生。好消息是ASP.NET4.0完全兼容之前版本所提供的42个属性。更好的消息是,ASP.NET4.0还带来了6个新的属性,以应对日益复杂的开发需求:

      1. ClientIDMode 顾名思义,这个属性用来定义ASP.NET将如何生成控件的客户端ID,如果你是一个前端开发人员,你将会明白能够确定的控制客户端ID的生成将带来多大的便利。可能的值为AutoID(default/current),Predictable,Static和Inherit。
      2. ClientTarget 用来定义页面将针对哪个浏览器来执行。这将覆盖ASP.NET提供的自动浏览器识别功能,可能的应用场景为比如我们只需要支持IE浏览器或只需要支持 FIREFOX等。
      3. MetaDescription 顾名思义,用来生成页面的meta 的description标签。在我看来只是提供了一个更为官方的方法和方式,标准化了这一流程。
      4. MetaKeywords 顾名思义,用来生成meta的keywords标签。
      5. TargetSchema 用来定义验证页面所需的schema。这个标签只是用来标识的,并不会真正的执行。可以看作一种代码注释。
      6. ViewStateMode 用来定义页面的VIEWSTATE是opt-in还是opt-out(默认)模式。

    总体来说变化不大,提供了一些呼声很高的功能。

    *      生成更纯净,更标准的HTML代码

    这一直是ASP.NET中比较大的问题.  ASP.NET1.1生成的html代码基本都不符合标准,这一点在ASP.NET2.0中已经进行了改进,我们在web.config中引入了 xhtmlConformance,用来定义控件将生成何种标准的HTML代码,默认为XHTML1.0 Transitional standard(Transitional)。相应的,我们可以将它设定为XHTML1.0 Strict(Strict)或者选择生成与ASP.NET1.1相同的HTML代码(Legacy,主要用来兼容从ASP.NET1.1升级而来的网站)。

    不幸的是,在Legacy模式运行的网站与ASP.NET AJAX不兼容,而且尽管Transitional与Strict模式与XHTML标准兼容,但生成的代码对CSS也是非常不友好的。例如:

      1. menu用table输出而不是UL/OL。
      2. 服务器端的控件属性例如 border=0 或disabled=disabled 是强制的并且无法移除
      3. 对于支持template的控件,你可以对template内的代码进行任何的自定义,但无法移除最外层的table标签。

    ASP.NET3.5带来的ListView,DataPager和 CSS Control Adapters控件带来了过渡性的解决方案,ASP.NET4.0完全将他们集成在新版本的System.Web中,使得微软可以使 ASP.NET4.0可以尽可能的对CSS友好。毋庸置疑,生成干净的HTML标签是ASP.NET4.0的重要目标之一。

        * ControlRenderingCompatibilityVersion

    与xhltmlComformance类似,ASP.NET4.0为web.config带来了这个新的属性。当设置为3.5时,一切将和原来一致,但当你设置为4.0时,控件将按照全新的模式输出HTML代码:

      1. xhtmlConformance被设置为Strict
      2. menu将会用UL/OL的形式输出
      3. 多余的HTML属性将被移除,甚至连validation的字体颜色也不会被设置为红色。
      4. 将可以对控件使用RenderOuterTable属性来控制是否输出外围的table标签。

    在我看来这对于习惯使用控件的同学是个好消息。微软又帮你做了许多工作。

    *      新增的一些小功能

    列举一些新增的细节功能

      1. 内置<asp:chart>
      2. 三种新的Redirect方式:Response.RedirectToRoute(HTTP302), Response.RedirectToRoutePermanent(HTTP301)和 Response.RedirectPermanent(HTTP301)
      3. Inline的HTML encoded 字符串。
附件: image6.png
      4. Routing配置更便捷
(文/Pandora
TOP