ASP.NET Web Forms 4.0中双向Routing支持

.NET Framework 3.5 SP1已经包含了ASP.NET Routing引擎。现在微软已经在ASP.NET WebForms 4.0中 增加了对Routing引擎更好的支持,它使用表达式构造器进行双向Routing。

Channel 9刚发布了一个10-4的新视频,展示如何在ASP.NET 4.0中使用这个新功能。

下面是视频中展示的一段代码。他们使用了一个经典示例,展示如何将Product.aspx? category=Jerseys映射至Product/Jerseys。在使用ASP.NET Routing引擎时,我们可以在 Application_Start中向RouteTable添加这样的映射:

RouteTable.Routes.Add("Product",
  new Route("Product/{name}", 
  new  PageRouteHandler("~/Product.aspx")));

目前为了得到双向的Routing支持,用户必须对Query String进行URL重写。不过,使用ASP.NET 4.0时 ,用户可以注册如下的表达式构造器(expression builder):

<system.web>
 <compilation>
  <expressionBuilders  ...>
   <add expressionPrefix="RouteUrl"
       type="System.Web.Compilation.RouteUrlExpressionBuilder" />
   <add  expressionPrefix="RouteValue"
       type="System.Web.Compilation.RouteValueExpressionBuilder" />
   </expressionBuilders>
 </compilation>
</system.web>

第一个表达式用于生成URL而第二个用于获取Route值。在aspx页面中可以使用$符号来访问表达式:

<asp:HyperLink NavigationUrl="<%$ RouteUrl:RouteName=Product,  name=Jerseys"
   Text="Jerseys"
   runat="server" />

如果要获取name属性中的值,用户可以使用Route对象而不是Request对象:

RouteData.Values["name"];

或使用表达式构造器:

<%$ RouteValue:name %>

用户可以利用ASP.NET Routing引擎和新的双向支持将URL和物理上的Web Form解耦,以便支持对搜索 引擎更友好的URL。

时间: 2024-11-08 22:06:55

ASP.NET Web Forms 4.0中双向Routing支持的相关文章

ASP.NET Web Forms 4.0简介

WebForms 4.0 提供了一些有针对性的增强,还包括一些新特性.本实验将讨论以下特性: 客户端 ID:开发人员现在可以管理会对所呈现客户端 ID 造成影响的控件 ID.Control 类现在提供了一个新的 ClientIDMode 属性,可用于在确定是否需要在呈现时重构客户端 ID 时,指定运 行时的行为.这将删除客户端 ID 中以前的无用信息. URL 路由:WebForms 4.0 引入了 一个新的 PageRouteHandler 类,它将 URL 路由集成到了 Web Form P

ASP.NET Web Forms中用System.Web.Optimization取代SquishIt

将一个ASP.NET Web Forms项目从.NET Framework 4.0升级至.NET Framework 4.5之后,发现SquishIt竟然引发了HTTP Error 500.0 - Internal Server Error. SquishIt是一个开源的支持ASP.NET的js/css打包工具,项目地址:https://github.com/jetheredge/SquishIt,出生早于Microsoft ASP.NET Web Optimization Framework(

【ASP.NET Web API教程】2.1 创建支持CRUD操作的Web API

原文 [ASP.NET Web API教程]2.1 创建支持CRUD操作的Web API 2.1 Creating a Web API that Supports CRUD Operations2.1 创建支持CRUD操作的Web API By Mike Wasson | January 28, 2012作者:Mike Wasson | 日期:2012-1-28 本文引自:http://www.asp.net/web-api/overview/creating-web-apis/creating

asp.net 1.1/ 2.0 中快速实现单点登陆

asp.net 问题: 网站有bbs.xxx.com / main.xxx.com / pay.xxx.com 这三个不同的二级域名站,要实现任何一二级域名处登陆,其他各二级域名的站均登陆. 解决办法: 设置cookie的domain属性. 详细介绍: 把保存用户登陆信息的cookie的域设置成一样即可.usercookie.Domain=".xxx.com"; 要注意,在域名前必须要加一个".".这个设置在登陆和退出的时候都需要. 比较普遍的做法自然是用一个专门负

asp.net 1.1/ 2.0 中快速实现单点登陆_实用技巧

问题:  网站有bbs.xxx.com / main.xxx.com / pay.xxx.com 这三个不同的二级域名站,要实现任何一二级域名处登陆,其他各二级域名的站均登陆. 解决办法: 设置cookie的domain属性. 详细介绍: 把保存用户登陆信息的cookie的域设置成一样即可.usercookie.Domain=".xxx.com"; 要注意,在域名前必须要加一个".".这个设置在登陆和退出的时候都需要. 比较普遍的做法自然是用一个专门负责用户登陆的类

一起谈.NET技术,VS 2010 和 .NET 4.0 系列之《在ASP.NET 4 Web Forms中实现URL导向》篇

本系列文章导航 VS 2010 和 .NET 4.0 系列之<ASP.NET 4 中的SEO改进 >篇 VS 2010 和 .NET 4.0 系列之<干净的Web.Config文件 >篇 VS 2010 和 .NET 4.0 系列之<起始项目模板>篇 VS 2010 和 .NET 4.0 系列之<多定向支持>篇 VS 2010 和 .NET 4.0 系列之<多显示器支持>篇 VS 2010 和 .NET 4.0 系列之<代码优化的Web开发

艾伟_转载:VS 2010 和 .NET 4.0 系列之《在ASP.NET 4 Web Forms中实现URL导向》篇

本系列文章导航 VS 2010 和 .NET 4.0 系列之<ASP.NET 4 中的SEO改进 >篇 VS 2010 和 .NET 4.0 系列之<干净的Web.Config文件 >篇 VS 2010 和 .NET 4.0 系列之<起始项目模板>篇 VS 2010 和 .NET 4.0 系列之<多定向支持>篇 VS 2010 和 .NET 4.0 系列之<多显示器支持>篇 VS 2010 和 .NET 4.0 系列之<代码优化的Web开发

VS 2010 和 .NET 4.0 系列之《在ASP.NET 4 Web Forms中实现URL导向》篇

本系列文章导航 VS 2010 和 .NET 4.0 系列之<ASP.NET 4 中的SEO改进 >篇 VS 2010 和 .NET 4.0 系列之<干净的Web.Config文件 >篇 VS 2010 和 .NET 4.0 系列之<起始项目模板>篇 VS 2010 和 .NET 4.0 系列之<多定向支持>篇 VS 2010 和 .NET 4.0 系列之<多显示器支持>篇 VS 2010 和 .NET 4.0 系列之<代码优化的Web开发

ASP 3.0中的新特性

    假如读者已经熟悉了ASP 2.0,并正在寻找3.0版本中的实际改变的列表,那么将在下面发现这些信息.假如读者是一个ASP的初学者,可以越过本章到下一章,那里循序渐进地介绍了ASP对象和它们的用法.    ASP 3.0新特性概要    在ASP 3.0中,有一些新的特性或经历较大的变化或改进的特性.    1. 无脚本的ASP    如早先提到的, ASP处理不包括任何脚本的.asp页的速度是很快的,假如你正在创建的站点或Web应用程序文件最终可能使用ASP,最好让这些文件使用.asp文