2

在将 System.Web.Routing 与 webforms 一起使用时,如何获取虚拟 url 而不是 url 映射到的 webforms 页面名称。

我想要网址“/confirm/5”而不是“Confirm.aspx”。

4

2 回答 2

1

要获取您当前正在访问的页面的路由 URL ,请使用Request.Url,如 Pavel 所述。

如果您需要获取不同页面的路由 URL(例如在创建指向另一个页面的超链接时),请使用该Page.GetRouteUrl方法。

这是一个代码片段,展示了Page.GetRouteUrl. 它来自我的文章,ASP.NET 4 中的 URL 路由

lnkCategory.NavigateUrl = Page.GetRouteUrl("查看类别", new { CategoryName = "饮料" });

在上面的代码片段中,“查看类别”是我要使用的路由规则的名称。CategoryName是路由参数之一,我想使用值“饮料”。上面的调用Page.GetRouteUrl返回字符串“/Categories/Beverages”。(当然,返回的确切字符串取决于路由规则“查看类别”和参数值,但希望您明白这一点。)

于 2011-01-25T18:10:41.467 回答
-1

尝试以下操作:System.Web.HttpContext.Current.Request.Url.AbsolutePath

于 2011-01-25T17:49:00.800 回答