在Controller中获取“默认”路由URL

时间:2010-03-01 15:14:03

标签: asp.net-mvc routing

有人能告诉我,检索“默认”路线的实际网址是什么语法?

我想做点什么:

string url = RouteTable.Routes["Default"].ToString();
//(even though that code is completely wrong)

这样我就可以使用可用的路由的url值。

到目前为止,我一直在尝试.GetVirtualPath()方法,但只返回当前控制器的路由数据。

感谢

戴夫

1 个答案:

答案 0 :(得分:11)

路线可以匹配任意数量的网址。所以路线没有网址。要从路线获取网址,您必须为其提供您想要网址的路线数据。为此,您只需在Url属性RouteUrl()上使用Url.RouteUrl()方法。

<强>更新

如果您想要在路线提供默认值时生成的网址,您可以执行以下操作:

var url = Url.RouteUrl("Default", ((Route)RouteTable.Routes["Default"]).Defaults);