[转载]Asp.Net 4.0 新特性 系列 之一 从页面标记说起

Asp.Net 4.0 新特性 系列 之一 从页面标记<%%>说起

VS2010在4月份已经正式发布了,Asp.Net 4.0给我带来了一些新的东西。体验一把。

 

1. 从页面标记<%%>说起
2. Asp.Net 4.0 中可以用自定义的Provider做OutputCache 了
3. SEO增强支持MetaKeywords,和MetaDescription,RedirectPermanant
4. SEO增强之URL Routing
5. 输出更纯净的Html代码,ViewStateMode和ClientIDMode,CheckBoxList等
6. Asp.Net 4.0 丰富的图表控件
7. 在Asp.Net4.0中使用Jquery的Ajax
8. 自动部署功能增强

 

在Asp.Net4.0中<%符号表达式%>有四种形式,分别为<%=”hello world”%>,<%$expression%>,<%#expression%>,<%:abc%> 我们分别来看一下

 1. <%=表达式%> 这中写法支持asp,jsp等等,他就是直接输出表达式的值,它等同于

view source
print ?
1 Response.Write(表达式);


2. <%$declarationExp:expression%> 这是一种声明式表达式,他在Asp.Net 2.0时被引入,我们可以利用这个表达式,输出AppSettings中的配置,给SqlDataSource控件设定连接字符串等等,在.Net 4.0时我们可以在这个表达式中输出Url Routing中的参数值,或者根据设置得到UrlRouting后的URL
例如:
1)在Literal中显示URL Routing 当前的action值

view source
print ?
1 <asp:Literal ID="l" EnableViewState="false" Text="<%$RouteValue:action %>" runat="server">asp:Literal>

2)传入参数显示Routing后的Url

view source
print ?
1 <asp:Label ID="lb" EnableViewState="false" Text="<%$RouteUrl:controller=Category ,action=edit,id=1%>" runat="server">asp:Label>

在.Net 4.0支持的系统默认支持的表达式有:Resources, ConnectionStrings,AppSettings,RouteUrl,RouteValue这些在根配置文件web.config的system.web/compilation/expressionBuilders配置节中有配置

更多介绍可以参考:http://msdn.microsoft.com/en-us/library/d5bd1tad(v=VS.100).aspx
http://msdn.microsoft.com/en-us/library/system.web.compilation.routeurlexpressionbuilder.aspx

3. <%#expression%>表示数据绑定,必须在调用DataBind方法才能输出绑定的值,通常用在DataGrid,Repeater,ListView等模板控件中。

4. <%:expression%>它是一个新增的表达式方式,表示将expression HtmlEncode后输出,如果这个表达式的类型时IhtmlString,它将通过IhtmlString接口的ToHtmlString()方法来做UrlEncode,.Net 4.0中HtmlString类通过实现这个接口,避免重复做HtmlEncode

例如:
  1. 需要做HtmlEncode时使用表达式

view source
print ?
1 <%:”<h1>I’a a testh1>”%>

  将输出

view source
print ?
1 <h1>I’a a testh1>

  2. 不需要做HtmlEncode时使用表达式

view source
print ?
1 <%: new HtmlString(”<h1>I’a a testh1>”)%>

  将输出

view source
print ?
1 <h1>I’a a testh1>

 这个很酷的feature在Asp.Net Mvc 2.0中被广泛使用。

这些表达式都出现在aspx页面上,在编译aspx页面时编译程序会使用正则比表达式将这些表达式解析成后台代码来执行


请尊重作者的劳动,转载请保留链接 玉开的技术博客                

Sponsored Links:  
精选推荐: [更新]Css背景图合并工具(附V0.11源码和可执行文件)
高性能网站建设之 MS Sql Server数据库分区 什么是网站,网站是如何盈利的,你了解吗?
大访问量论坛版面帖子列表页取数据方案探讨 高性能网站建设之减少Http连接数
Ms Sql Server 2005的数据库快照功能使用实践 Dot Net版本更新迅速,您跟的上微软的步伐吗?
你真的理解T-sql中的NULL吗? 基于操作+角色的授权方案(设计思路篇)
基于操作+角色的授权方案(具体实现篇) 在web应用程序中使用MemcachedClient
Tag标签: asp.net4.0
u11387.png
玉开
关注 - 35
粉丝 - 36
关注博主
2
0
0
(请您对文章做出评价)
« 上一篇: LINQ to SQL系列 查询 使用LINQ to SQL做简单查询
» 下一篇: Asp.Net 4.0 新特性之 使用自定义OutputCache Provider
posted on 2010-05-15 18:28 玉开 阅读(1697) 评论(4)   编辑 收藏 所属分类: .Net开发经验, 简单问题, c#
1736325.html?type=1&webview=1
FeedBack:
1825689
#1楼  2010-05-15 21:40  Ivony...       
事实上<%: %>就是包了一个壳的<%= %>

与<%# %>是有本质区别的。

   回复   引用   查看    
#2楼 [ 楼主] 2010-05-16 08:26  玉开       
@Ivony...
包的这个壳非常有用

   回复   引用   查看    
#3楼  2010-05-17 08:54  冰泉       
根据说明好像是<%: %>类似于<%=HTML.Encode("
")%>

   回复   引用   查看    
#4楼 [ 楼主]  2010-05-17 09:07  玉开       
引用冰泉:根据说明好像是<%: %>类似于<%=HTML.Encode("
")%>
通常是你说的那种情况,实质上是
:后面的值将被转换成IHtmlString并执行IHtmlString.ToHtmlString()方法输出结果

   回复   引用   查看    

VS2010在4月份已经正式发布了,Asp.Net 4.0给我带来了一些新的东西。体验一把。

 

1. 从页面标记<%%>说起
2. Asp.Net 4.0 中可以用自定义的Provider做OutputCache 了
3. SEO增强支持MetaKeywords,和MetaDescription,RedirectPermanant
4. SEO增强之URL Routing
5. 输出更纯净的Html代码,ViewStateMode和ClientIDMode,CheckBoxList等
6. Asp.Net 4.0 丰富的图表控件
7. 在Asp.Net4.0中使用Jquery的Ajax
8. 自动部署功能增强

 

在Asp.Net4.0中<%符号表达式%>有四种形式,分别为<%=”hello world”%>,<%$expression%>,<%#expression%>,<%:abc%> 我们分别来看一下

 1. <%=表达式%> 这中写法支持asp,jsp等等,他就是直接输出表达式的值,它等同于

view source
print ?
1 Response.Write(表达式);


2. <%$declarationExp:expression%> 这是一种声明式表达式,他在Asp.Net 2.0时被引入,我们可以利用这个表达式,输出AppSettings中的配置,给SqlDataSource控件设定连接字符串等等,在.Net 4.0时我们可以在这个表达式中输出Url Routing中的参数值,或者根据设置得到UrlRouting后的URL
例如:
1)在Literal中显示URL Routing 当前的action值

view source
print ?
1 <asp:Literal ID="l" EnableViewState="false" Text="<%$RouteValue:action %>" runat="server">asp:Literal>

2)传入参数显示Routing后的Url

view source
print ?
1 <asp:Label ID="lb" EnableViewState="false" Text="<%$RouteUrl:controller=Category ,action=edit,id=1%>" runat="server">asp:Label>

在.Net 4.0支持的系统默认支持的表达式有:Resources, ConnectionStrings,AppSettings,RouteUrl,RouteValue这些在根配置文件web.config的system.web/compilation/expressionBuilders配置节中有配置

更多介绍可以参考:http://msdn.microsoft.com/en-us/library/d5bd1tad(v=VS.100).aspx
http://msdn.microsoft.com/en-us/library/system.web.compilation.routeurlexpressionbuilder.aspx

3. <%#expression%>表示数据绑定,必须在调用DataBind方法才能输出绑定的值,通常用在DataGrid,Repeater,ListView等模板控件中。

4. <%:expression%>它是一个新增的表达式方式,表示将expression HtmlEncode后输出,如果这个表达式的类型时IhtmlString,它将通过IhtmlString接口的ToHtmlString()方法来做UrlEncode,.Net 4.0中HtmlString类通过实现这个接口,避免重复做HtmlEncode

例如:
  1. 需要做HtmlEncode时使用表达式

view source
print ?
1 <%:”<h1>I’a a testh1>”%>

  将输出

view source
print ?
1 <h1>I’a a testh1>

  2. 不需要做HtmlEncode时使用表达式

view source
print ?
1 <%: new HtmlString(”<h1>I’a a testh1>”)%>

  将输出

view source
print ?
1 <h1>I’a a testh1>

 这个很酷的feature在Asp.Net Mvc 2.0中被广泛使用。

这些表达式都出现在aspx页面上,在编译aspx页面时编译程序会使用正则比表达式将这些表达式解析成后台代码来执行


请尊重作者的劳动,转载请保留链接 玉开的技术博客                

Sponsored Links:  
精选推荐: [更新]Css背景图合并工具(附V0.11源码和可执行文件)
高性能网站建设之 MS Sql Server数据库分区 什么是网站,网站是如何盈利的,你了解吗?
大访问量论坛版面帖子列表页取数据方案探讨 高性能网站建设之减少Http连接数
Ms Sql Server 2005的数据库快照功能使用实践 Dot Net版本更新迅速,您跟的上微软的步伐吗?
你真的理解T-sql中的NULL吗? 基于操作+角色的授权方案(设计思路篇)
基于操作+角色的授权方案(具体实现篇) 在web应用程序中使用MemcachedClient
Tag标签: asp.net4.0
u11387.png
玉开
关注 - 35
粉丝 - 36
关注博主
2
0
0
(请您对文章做出评价)
« 上一篇: LINQ to SQL系列 查询 使用LINQ to SQL做简单查询
» 下一篇: Asp.Net 4.0 新特性之 使用自定义OutputCache Provider
posted on 2010-05-15 18:28 玉开 阅读(1697) 评论(4)   编辑 收藏 所属分类: .Net开发经验, 简单问题, c#

1736325.html?type=1&webview=1


FeedBack:

1825689
#1楼  2010-05-15 21:40  Ivony...       
事实上<%: %>就是包了一个壳的<%= %>

与<%# %>是有本质区别的。

   回复   引用   查看    
#2楼 [ 楼主] 2010-05-16 08:26  玉开       
@Ivony...
包的这个壳非常有用

   回复   引用   查看    
#3楼  2010-05-17 08:54  冰泉       
根据说明好像是<%: %>类似于<%=HTML.Encode("
")%>

   回复   引用   查看    
#4楼 [ 楼主]  2010-05-17 09:07  玉开       
引用冰泉:根据说明好像是<%: %>类似于<%=HTML.Encode("
")%>
通常是你说的那种情况,实质上是
:后面的值将被转换成IHtmlString并执行IHtmlString.ToHtmlString()方法输出结果

   回复   引用   查看    

转载于:https://www.cnblogs.com/yurukai/archive/2010/05/22/1741689.html

你可能感兴趣的:([转载]Asp.Net 4.0 新特性 系列 之一 从页面标记说起)