适当使用Html.ActionLink作为特定规则

时间:2014-09-25 18:45:44

标签: c# asp.net-mvc-5 razor-2

我在RouteConfig中有这个规则:

routes.MapRoute(
    name: "UserProfile",
    url: "users/{uid}",
    defaults: new { controller = "Users", action = "Profile" }
);

如何使用@Html.ActionLink链接到此操作?使用@Html.Routelink这样做很容易,但是可以使用前者吗?

1 个答案:

答案 0 :(得分:1)

您只需传入操作名称,控制器名称,然后传递包含其他路由值的对象,在本例中为uid

@Html.ActionLink("User Profile", "Profile", "Users", new { uid = 1 }, null)

如果由于您的路线设置方式而未转​​换为/users/{uid},则应使用@Html.RouteLink()@Html.ActionLink()用于直接链接到操作。您提供了操作和控制器,它根据您设置的路径提供了一个URL。如果路线存在冲突,您可能无法获得您期望的网址。在这种情况下,链接到您想要的路线是可行的。