2

我需要控制器的完全限定 URL 以在 Javascript 中构建 URL。但是,我不想要特定的操作,因为这会根据客户端代码而改变。我试过(在我的 _Layout.cshtml 中)

Url.RouteUrl(new { controller = "Foo" })

然而,这总是会给我当前视图的动作,例如“/Foo/Bar”。当然,我现在可以扔掉最后一个斜线和之后的所有内容,但在我看来,必须有更好的方法来做到这一点。

4

2 回答 2

1

您可以使用:

Request.Url.Host + Url.Action("Index", "Foo");

它会在生成 URL 时自动删除操作部分。

于 2013-08-12T09:06:14.693 回答
0

自己找到了解决方案。您可以将操作名称显式设置为空字符串:

Url.RouteUrl(new { controller = "Foo", action = "" })
于 2013-08-12T09:08:19.603 回答