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等

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

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

view sourceprint?
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 sourceprint?
1 <asp:Literal ID="l" EnableViewState="false" Text="<%$RouteValue:action %>" runat="server"></asp:Literal>

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

view sourceprint?
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 sourceprint?
1 <%:”<h1>I’a a test</h1>”%>

  将输出

view sourceprint?
1 <h1>I’a a test</h1>

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

view sourceprint?
1 <%: new HtmlString(”<h1>I’a a test</h1>”)%>

  将输出

view sourceprint?
1 <h1>I’a a test</h1>

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

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

转载于:https://www.cnblogs.com/qiuweiguo/archive/2011/08/02/2125194.html

Asp.Net 4.0 新特性 系列 之一 从页面标记%%说起相关推荐

  1. JDK5.0新特性系列---目录

    JDK5.0新特性系列---目录 JDK5.0新特性系列---1.自动装箱和拆箱 JDK5.0新特性系列---2.新的for循环 JDK5.0新特性系列---3.枚举类型 JDK5.0新特性系列--- ...

  2. 精进不休 .NET 4.0 (2) - asp.net 4.0 新特性之url路由

    [索引页] [源码下载] 精进不休 .NET 4.0 (2) - asp.net 4.0 新特性之url路由, 自定义CacheProvider, 新增的表达式<%: expression %& ...

  3. .NET2.0和microsoft新知识体系-ASP.NET 2.0新特性

    ASP.NET技术从1.0版本升级到1.1变化不是很大.然而,从ASP.NET 1.x升级到2.0,却不是件轻而易举的事情.ASP.NET 2.0技术增加了大量方便.实用的新特性.图1-1所示列举了A ...

  4. ASP.NET 4.0 新特性--Web.Config Transformation(原创)

    . 系列文章 Web.Config Transformation详解,这部分内容比较简单,关键是用没有用过的问题,所以这里希望帮助大家实践一下. 一 概述: 在VS2010中引入在Config 文件中 ...

  5. asp.net 4.0 新特性(翻译)

    原文地址:http://geekswithblogs.net/ranganh/archive/2009/08/14/whatrsquos-new-in-asp.net-4.0.aspx Visual ...

  6. ASP.NET 2.0新特性视频教程下载

    这里是下载页面 这是Framework 2.0下面新特性的系统视频讲座,英文的,说话讲得很清楚音质不错,英文好的朋友有福了.包含以下这些主题: 数据访问 MasterPage与站点导航 成员与角色 用 ...

  7. C# 3.0新特性系列(1):隐含类型局部变量

    一.隐含类型局部变量简介 在C#3.0中增加了很多新的语言特性,如果有一个局部变量被声明为var,这个声明被视为隐含类型局部变量声明,然后由编译器根据局部变量初始化表达式来推断变量的类型.如下面的声明 ...

  8. JDK5.0新特性系列---11.4线程 Condition

    import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; import java.util ...

  9. JDK5.0新特性系列---11.5.3线程 同步装置之CyclicBarrier

    import java.util.Random; import java.util.concurrent.CyclicBarrier; /** * CyclicBarrier维持一个计数器,与Coun ...

  10. JDK5.0新特性系列---11.5.4线程 同步装置之Exchanger

    /** * Exchanger让两个线程互换信息 * 实例模拟服务生和顾客,服务生往空杯子中倒水,顾客从装满水的杯子中喝水,然后互换杯子,服务生接着倒水,顾客接着喝水. */ /** * 使用Exch ...

最新文章

  1. redis为什么是cp_面试官:Redis怎么持久化的?如何回答持久化策略呢?
  2. @ResponseBody注解作用
  3. Mac环境下Docker及Splash的安装运行教程
  4. (轉貼) 網路***成詐騙新手法 警方提醒民眾小心 (News)
  5. 【C语言数据结构】单链表
  6. 跟风写博---也谈值类型和引用类型
  7. IE7下position:relative的问题
  8. MAC下Android的Eclipse开发环境的搭建 转自MacroCheng
  9. redis依赖包_解决痛点:二方包稳定性测试实践
  10. java连接达梦数据库_java连接达梦数据库的简单代码
  11. linux pdf放到一页,linux – 如何将多个PDF页面连接到单个页面
  12. 人工智能、机器学习、神经网络、深度学习之间的关系
  13. 如何成为一个优秀的互联网营销人员?(互联网销售/网络营销职位从菜鸟到大神应该学习的内容)
  14. 2055041-21-7,Acid-PEG4-S-PEG4-acid在EDC和HATU等活化剂存在下,羧酸基团可与伯胺反应
  15. 圈量SCRM讲解:企业微信管理系统有哪些优点?对客户管理有什么用
  16. 【看表情包学Linux】插叙:实现简易的 Shell | 通过内建命令实现路径切换 | 再次理解环境变量
  17. 前缀和-python
  18. 新人成长:新人在前端团队如何快速成长为技术骨干
  19. CVE-2014-4113:飓风熊猫(HURRICANE PANDA)Win64bit提起权0day破绽
  20. 网页密码查看器+原代码+windows密码查看

热门文章

  1. BZOJ-2456-mode(思维题)
  2. VDI序曲十一 微软桌面虚拟化之授权服务器
  3. 精彩案例:一碗牛肉面的思考
  4. [MSDN]Design Guidelines for Developing Class Libraries with .NET Framework 4
  5. 自定义分区partitioner实现数据分区存储
  6. 第三季-第8课-系统调用方式文件编程
  7. 基于16QAM调制的OFDM系统仿真实现(MATLAB)
  8. 关于跨域以及跨域的实现方式
  9. 使用Object.prototype.toString判断数据类型
  10. Seaborn学习记录(1)