【发布时间】:2011-08-21 23:18:20
【问题描述】:
我在 asp.net web forms 4.0 中使用路由并取得了一些成功。在我的页面中,我使用 Page.GetRouteURL 来生成这样的路由。
<a href = '<%=GetRouteUrl("MyRoute", new {MyFirstRouteValue = "ABC", MySecondRouteValue=123}) #>' >Link Text</a>
这很好用,但我发现有时我需要在 app_code 中的类中具有此功能。我可以使用 String.Format 手动构建路由,但这有点草率,因为它会复制 Global.asax 中定义路由的代码。
当然,App_Code中的类中没有Page对象,所以不能只调用GetRouteUrl。在docs on msdn 中查找,我看到了一些看起来很有帮助的东西。
此方法用于编码 方便。它相当于 调用 RouteCollection.GetVirtualPath(RequestContext, String, RouteValueDictionary) 方法。
所以我跟着文档到this page,它指出 System.Web.Routing.GetVirtualPath() 需要一个 System.Web.Routing.RequestContext 对象。我知道 HttpContext 对象,但我不知道 RequestContext 是什么。有人对此有好运吗?
【问题讨论】:
标签: .net asp.net routing webforms