我在asp.net web窗體4.0中使用路由並取得了一些成功。在我的頁面中,我使用Page.GetRouteURL來生成這樣的路線。如何使用Control.GetRouteUrl從App_Code中的類
<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是什麼。有人有這個運氣嗎?
謝謝Vinay!這讓我節省了數小時的搜索時間! – 2011-05-11 14:02:45