我如何获得虚拟URL,而不是使用system.web.Routing Web Forms映射到URL的WebForms Page名称。

我想要URL“/confirn/5”,而不是“ confirmence.aspx”。

有帮助吗?

解决方案

获取路由URL 对于您当前访问的页面, , 利用 Request.Url, ,正如帕维尔指出的那样。

如果您需要获取其他页面的路由URL(例如,在创建超链接到另一页的超链接时),请使用 Page.GetRouteUrl 方法。

这是一个代码段,显示了 Page.GetRouteUrl. 。这是我的文章 ASP.NET 4中的URL路由:

lnkcategory.navigateurl = page.getRouteurl(“ view category”,new {categoryName =“ beverages”});

在上面的摘要中,“视图类别”是我要使用的路由规则的名称。 CategoryName 是路由参数之一,我想使用“饮料”值。以上要求 Page.GetRouteUrl 返回字符串“/类别/饮料”。 (当然,确切的字符串为返回取决于路由规则“视图类别”和参数值,但希望您能得到这个想法。)

其他提示

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

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top