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. java能应聘哪些职位_应聘java专员职位的面试题
  2. Access Denied for user root @localhost 解决方案
  3. 【数字信号处理】序列傅里叶变换 ( 基本序列的傅里叶变换 | 单位脉冲序列 δ(n) 傅里叶变换 )
  4. ActiveMQ的消息重发策略和DLQ处理
  5. java jdbc pr_Java JDBC学习笔记
  6. 禅道批量删除bug_写代码有这16个好习惯,可以减少80%非业务的bug
  7. SpringBoot-拦截器
  8. 基础接口 java_java基础中的 接口方法的问题
  9. centos7 安装教程
  10. OpenCV-3.4.3图像通道处理
  11. ext.js解决html乱码,extjs 中文乱码
  12. 【矩阵论 图论】期末考试复习思维导图
  13. 网易公开课——可汗学院公开课:现代密码学(1)
  14. Jquery 中a||的含义
  15. 常用的局域网的网络拓扑有哪些种类?现在最流行的是哪种结构?为什么早期的以太网选择总线拓扑结构而不是星形拓扑结构,但现在却改为使用星形拓扑结构?
  16. 我的世界自定义服务器名称,[娱乐|机制][PCD]XZStrengthen —— v1.1.2自定义指令前缀界面名字[1.8-1.13]...
  17. 群机器人积分怎么转赠_王者荣耀全员冲榜无法获得积分怎么办?全员冲榜积分规则...
  18. Redis快速入门学习(基于狂神讲解)
  19. toString方法
  20. 一步到位安装R环境(R,Rattle,RStudio)

热门文章

  1. ActiveMQ学习-Network connectors JAVA代码实现
  2. java关于map用来筛选的用法
  3. robot framework -重点记录
  4. html 中 float 的一些研究
  5. IIS7中查看w3wp进程
  6. php nusoap web service
  7. RFC792翻译(ICMP主要内容)
  8. python reference理解
  9. 创建、删除swap分区
  10. MySQL老是提示视图没有主键