The ASP.NET Routing engine was added in .NET Framework 3.5 SP1. Now
Microsoft have added better support for using the engine in ASP.NET
WebForms 4.0 by using expression builders enabling bi-directional
routing.
Below is a summary of the code showed in the video. They use the
typical example of how Product.aspx?category=jerseys can map to
Product/Jerseys. Using the ASP.NET Routing engine this mapping can be
added using the RouteTable in Application_Start:
RouteTable.Routes.Add("Product",
new Route("Product/{name}",
new PageRouteHandler("~/Product.aspx")));
<system.web>
<compilation>
<expressionBuilders ...>
<add expressionPrefix="RouteUrl"
type="System.Web.Compilation.RouteUrlExpressionBuilder" />
<add expressionPrefix="RouteValue"
type="System.Web.Compilation.RouteValueExpressionBuilder" />
</expressionBuilders>
</compilation>
</system.web>
The first expression is for getting a URL and the second for getting
a value. The $ sign is used to access expressions from an aspx page:
To get the value from the name attribute, users use the Route object instead of the Request object:
or using an expression builder:
By using ASP.NET Routing and the new bi-directional support users
can decouple URLs from a physical Web Form, allowing friendlier URLs
and have search engines discover and use these.
版权
作者:灵动生活 郝宪玮
如果你认为此文章有用,请点击底端的【推荐】让其他人也了解此文章,
![](https://img.laitimes.com/img/_0nNw4CM6IyYiwiM6ICdiwiInBnauQGM3U2NkdDM4EWO3ETYlVDN5QTNzIDOyMWYiNTMzMmMfdWbp9CXt92Yu4GZjlGbh5SZslmZxl3Lc9CX6MHc0RHaiojIsJye.jpg)
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。