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



Visual Studio 2010 Beta 1 和.NET Framework Beta 1已经发布一些时间啦,我使用也有一段时间,在 ASP.NET 4.0中将开发模板改进为多场景如Webform,动态数据,基于AJAX的Web开发程序。还有一些对核心对象的改进
如Asp.net的Caching,Session,Request,Response.

我体验一下WebFrom的增强,在个过去有很多体验。

(1)控制ViewState使用ViewStateMode的属性,使得性能得到改进

asp.net WebForm的ViewState性能一直都是被受争议。在过去我们所有的控件的默认都是inherit,而虽然我们可以通过设置EaableViewState属性来控制,但他们的对控件产生的行为是不一致的。

在ASP.NET 4.0中,每一个控件的ViewState的属性都是由于ViewStateMode属性控制。 分别有三个属性:enabled,disabled,inherited.

<asp:Panel ID="pnlViewState" runat="server" ViewStateMode="Disabled">
      Disabled: <asp:Label ID="label1" runat="server"  Text="Value set in markup" ViewStateMode="Inherit"  /><br />
           Enabled: <asp:Label ID="label2"  runat="server" Text="Value set in markup" ViewStateMode="Enabled" />
  <hr />
  <asp:button ID="Button1" runat="server"  Text="Postback" />
    </asp:Panel>

后台代码

protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            label1.Text = "Value set in code behind";
            label2.Text = "Value set in code behind";
        }
    }

你就能找到在初始值,当你点击button时,你会发现label1的值改变,但Label2的值没有变化,就如你看到的,Panel中包含两个控件的ViewStateMode的设置分别为为Disabled,Enabled,但他们并没有同时受到Panel中的ViewStateMode设置为Disabled
的影响,而是由他们分别的设置来决定。

虽然使用EnableViewState的使用很容易,但考虑到性能方面的情况下在不授权(disabling)ViewState的情况下和然后又在每一个控件中授权是用ViewState,控件是不工作的,就在这个时候,ViewStateMode属性就可被使用上。

(2) Page Meta keyword & Description -Sreach Engine Optimization 特性。

在Vs2008中设Title,是通过Page.Title.而在Web应用程序中,搜索引擎是搜索的Title, Keyword 和 description ,尽管关键字在现在的搜索引擎已经基本忽略,但 Description
仍然是很主要的要素,特别Google, Bing来说于识别和索引页面的内容都是基于Description中的Content。

所在asp.net 4.0中可以使用编程的方式来设置Description 和 Keywords。

protected void Page_Load(object sender, EventArgs e)
    {
        this.Page.Title = "My ASP.NET Blog";
        this.Page.MetaKeywords = "ASP.NET, Web Development, Blog, ASP.NET Blog";
        this.Page.MetaDescription = "This Blog contains posts related to ASP.NET and Web Development";
    }

<meta name="keywords" content="ASP.NET, Web Development, Blog, ASP.NET Blog" />

<meta name="description" content="This Blog contains posts related to ASP.NET and Web Development" />

这样做,程序会将代码中的字符放meta标签中的Content中。

尽管很简单,但非常的有用,能动态的设置页面上的一组按条件/指标的标记,所以现在Page类能动态的设置这些属性。

还有一个很重要的增强就是Routing 的改进。能设置ClientID等。


worksguo
www.cnblogs.com/worksguo

asp.net 4.0 新特性(翻译)相关推荐

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

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

  2. .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 ...

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

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

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

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

  5. 返璞归真 asp.net mvc (10) - asp.net mvc 4.0 新特性之 Web API

    返璞归真 asp.net mvc (10) - asp.net mvc 4.0 新特性之 Web API 原文:返璞归真 asp.net mvc (10) - asp.net mvc 4.0 新特性之 ...

  6. [翻译] C# 8.0 新特性

    原文: Building C# 8.0 [译注:原文主标题如此,但内容大部分为新特性介绍,所以意译标题为 "C# 8.0 新特性"] C# 的下一个主要版本是 8.0.我们已经为它 ...

  7. WCF4.0新特性体验(3):标准终结点(Standard Endpoints)

    今天在WCF4.0新特性体验第3节,我们介绍WCF4.0里的标准终结点概念,也就是Standard Endpoints. WCF4.0提供了那些标准终结点?他们有什么作用?如何使用标准终结点?如何该表 ...

  8. c#v2.0 扩展特性 翻译(1)

    c#v2.0 扩展特性 翻译(1) Introduction to C# 2.0 C# 2.0 introduces several language extensions, the most imp ...

  9. C# 7.0 新特性:本地方法

    C# 7.0:本地方法 VS 2017 的 C# 7.0 中引入了本地方法,本地方法是一种语法糖,允许我们在方法内定义本地方法.更加类似于函数式语言,但是,本质上还是基于面向对象实现的. 1. 本地方 ...

最新文章

  1. webstorm打开新项目提示设置、是否在新窗口打开提示
  2. Java File类void deleteOnExit()方法(带示例)
  3. 《一天聊一个设计模式》 单例
  4. jq如何获取选中option的值_【分享】如何获取变量token的值
  5. 风口更需冷静 智能家居如何跨越鸿沟?
  6. 阿里云安装mysql5.7_同一服务器上二进制安装mysql5.7和mysql5.6
  7. 前端技术的概括以及html的基本知识总结
  8. 云计算下一个十年,IT行业将发生哪些变化?
  9. onenote标注pdf笔记_无限接近纸质笔记:学生党的 OneNote 使用心得
  10. 信道检测手机软件 ios_【对讲机的那点事】宝峰UV5R对讲机上中继台的信道存储设置方法...
  11. 依次计算一系列给定字符串的字母值,字母值为字符串中每个字母对应的编号值(A对应1,B对应2,以此类推,不区分大小写字母,非字母字符对应的值为0)的总和
  12. Java实现蜗牛爬井的问题
  13. RSF 分布式服务框架-服务端工作原理
  14. 开源了个人开发的一个微信小程序,提供共享场景服务,支持图片和小视频
  15. 可导区间中的唯一驻点一定是极值点吗?
  16. sklearn机器学习(五)线性回归算法测算房价
  17. Linux 0.00简单多任务内核boot.s超详注释
  18. 同步IO(阻塞IO、非阻塞IO), 异步IO的理解
  19. 科蒂斯控制器故障代码_科蒂斯控制器1207故障代码
  20. h5应用缓存及收藏时Icon显示

热门文章

  1. js 封装经纬度成json_R实现地理位置与经纬度相互转换
  2. wpf的tabcontrol获取当前选中的名字_技巧:ANSA中如何快速批量修改PID名字
  3. 阿里消息队列mq服务器,阿里的架构之路——漫谈MQ
  4. 加油python_力扣——gas station (加油站) python实现
  5. python列表索引负数_python – 如何检查列表索引是否存在?
  6. Spring boot @Transactional
  7. 3.27模拟赛 sutoringu(后缀数组)
  8. 进程环境之环境表【转】
  9. c#中WinForm中拖拽窗体实现移动功能(无边框模态窗体)
  10. qt中判断对象是否为空的方式