首页 | 互联网 | IT动态 | IT培训 | Cisco | Windows | Linux | Java | .Net | Oracle | 软件测试 | C/C++ | 嵌入式开发 | 存储世界 | 服务器
网络设备 | IDC | 安全 | 求职招聘 | 数字网校 | 网页设计 | 平面设计 | 技术专题 | 电子书下载 | 教学视频 | 源码下载 | 搜索 | 博客 | 论坛
中国IT实验室Dotnet频道
中国IT教育
Google
首页 ASP.NET  C#  XML/WebService ADO.NET VC.NET VB.NET .NET 资讯动态 专题 RSS订阅 讨论 下载
您现在的位置: 中国IT实验室 >> Dotnet >> ASP.NET >> 正文

ASP.NET 3.5 Extensions带来什么

  1. 概述

  .NET 3.5和Visual Studio 2008的发布,在微软的。NET战略具有里程碑的意义,在Web开发方面,包含了一个具有强大功能的HTML Web设计器,该设计器提供了分割视图编辑,嵌套母板页,以及完善的CSS集成,同时改进了对JavaScript的支持,包括智能提示和调试等。仅仅在。NET 3.5发布后的20天,微软推出了ASP.NET 3.5 Extensions第一个预览版本,正式版将会在2008年上半年发布,里面包括了更多的ASP.NET 的特性,主要有如下几个部分:

  (1) ASP.NET MVC 框架

  (2) ASP.NET AJAX改进

  (3) ASP.NET 动态数据支持

  (4) ASP.NET Silverlight支持

  (5) ADO.NET数据服务

  在本文中,我将通过几个简单的示例来展示ASP.NET 3.5 Extensions中的部分新特性。

  2. ASP.NET MVC框架

  MVC的概念,已经出现了很多年了,它将应用程序的实现分成三个部分,Model进行数据状态的保持,View进行用户界面的展现,Controller进行用来处理用户的交互,操作Model和选择View进行数据的显示。ASP.NET MVC Framework中第一个关注点就是分离,以便方便的进行测试。同时它把aspx页、模板页、用户控件都当作View来使用,同时它还提供了非常强大的URL路由选择引擎,接下来我们通过示例来展示这些特性。

  第一步:建立Model,使用LINQ to SQL类建立一个Product的数据模型

  第二步:建立View,用一个aspx页面来显示Product的详细信息,页面继承于泛型的ViewPage:

  public partial class Product_Product : ViewPage { protected void Page_Load(object sender, EventArgs e) { } }

  在aspx页中显示数据,直接使用标记输出:

  ProductDetail:

  ProductId:

  Name:

  Descn:

  第三步:建立Controller,继承于Controller基类,并且添加Action方法,同时控制用Product视图来实现数据,并传入要显示的数据对象:

  public class ProductController : Controller { [ControllerAction] public void Index() { MSPetShopDataContext db = new MSPetShopDataContext(); ProductInfo productinfo = db.ProductInfos.Single(p => p.ProductId == "BD-03"); RenderView("Product", productinfo); } }

  第四步:配置路径选择,在Application_Start方法中进行配置:

  void Application_Start(object sender, EventArgs e) { RouteTable.Routes.Add( new Route { Url = "[controller]/[action].mvc", Defaults = new { action = "Index"}, RouteHandler = typeof(MvcRouteHandler) } ); }

  建立一个基于ASP.NET MVC Framework的应用程序,基本上就分上面的四步。目前ASP.NET MVC Framework还只是实现了一些基本的功能,在正式版中,其HTML帮助方法将会有几十个之多,让我们拭目以待吧。

  3. ASP.NET AJAX改进

  在ASP.NET 3.5 Extensions中对于ASP.NET AJAX改进最重要的一点就是更好的浏览器历史的支持,是我们可以很方便的进行控制浏览器的前进、后退按钮。它提供了两种方式供我们选择,使用服务器端控件或者使用客户端脚本。下面我将用示例简单演示一下如何使用服务器段控件进行浏览器历史的控制。

  添加ScriptManager控件,并设置其EnableHistory属性为true,允许浏览器的历史管理,以及OnNavigate处理为OnNavigateHistory函数,以便处理导航时的事件。同时EnableStateHash属性设为了false,主要是为了便于调试,以明文的方式进行状态的查看,如果实际使用的时候可以根据需要决定是否需要对状态进行Hash加密:

  创建浏览器历史点,在单击按钮时创建,通过AddHistoryPoint方法来添加:

  public void ButtonClick(object sender, EventArgs e) { LabelHistoryData.Text = ((Button)sender)。Text; ScriptManager.GetCurrent(this)。AddHistoryPoint(key, LabelHistoryData.Text); }

  进行导航处理:

  public void OnNavigateHistory(object sender, HistoryEventArgs e) { LabelHistoryData.Text = Server.HtmlEncode(e.State[key]); }

  同时为了演示,需要在页面上添加三个按钮:

  Date and Time:

  Page's refresh state:

  上面的方式主要是采用了服务器端的方式进行ASP.NET AJAX中对于浏览器历史的支持,同样你也可以采用客户端脚本对浏览器历史进行管理,这里不再说明。

【责编:John】

中国IT教育

相关产品和培训
文章评论
 友情推荐链接
 认证培训
 专题推荐

 ·关于Java框架技术专题
 ·XML全攻略技术专题
 ·JAVA开源技术介绍专题
 ·Java嵌入式开发之J2ME技术专题
 ·超前体验 Oracle 11g的5个新特性…
 ·揭密使用VB.NET的五个实用技巧
 ·Oracle和SQL Server常用函数对比专题…
 ·展现C#世界 C#程序设计专题…
 ·Java入门 Tomcat的配置技巧精华专题…
 ·Oracle RMAN物理备份技术详解…
 今日更新
 社区讨论
 博客论点
 频道精选
 Dotnet频道相关导航