在ASP MVC中为特定路由模式生成URL

时间:2013-07-01 14:16:49

标签: c# asp.net-mvc asp.net-mvc-4 razor

我有以下路线:

routes.MapRoute(
    name: "JobsIndex",
    url: "Jobs/{filter}",
    defaults: new { controller = "Jobs", action = "Index", filter = "Recent" }
);

如何创建网址?类似的东西:

http://localhost/Jobs/Active

由于

3 个答案:

答案 0 :(得分:4)

内部控制器:

string url = Url.Action("Index", "Jobs", new {filter = "Active"});

在视图上:

@Url.Action("Index", "Jobs", new { filter = "Active" })

答案 1 :(得分:1)

您可以使用Url.Action为您创建网址。

var url = Url.Action("Jobs", "Index", new { filter = "Active" });

您也可以在JavaScript文件中使用它,这在尝试获取View中的URL时非常有用。您可以使用Razor

执行此操作
@Url.Action("Jobs", "Index", new { filter = "Active" });

答案 2 :(得分:1)

@Andrei是第一个在这里得到正确答案的人。我只想指出您还可以使用您通过Url.RouteUrl提供的路线名称:

@Url.RouteUrl("JobsIndex", new { filter = "Active" })