ASP.net 4.0新功能举例

原创|其它|编辑:郝浩|2009-08-18 11:25:04.000|阅读 592 次

概述:本文展示了一段代码,该实现的是如何将Product.aspx?category=Jerseys映射至Product/Jerseys。在使用ASP.NET Routing引擎时,我们可以在Application_Start中向RouteTable添加这样的映射。

# 界面/图表报表/文档/IDE等千款热门软控件火热销售中 >>

  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。


标签:

本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@evget.com

文章转载自:网络转载

为你推荐

  • 推荐视频
  • 推荐活动
  • 推荐产品
  • 推荐文章
  • 慧都慧问
扫码咨询


添加微信 立即咨询

电话咨询

客服热线
023-68661681

TOP