0

我里面有这个路线值Global.asax

routes.MapRoute(
    "Default", // Route name
    "{controller}/{action}/{id}", // URL with parameters
    new { controller = "Home", action = "Index", id = UrlParameter.Optional } // Parameter defaults
);

routes.MapRoute(
    "Edit", // Route name
    "Admin/{controller}/{action}/{id}", // URL with parameters
    new { controller = "Edit", action = "Index", id = UrlParameter.Optional } // Parameter defaults
);

我使用这个 ActionLink 方法来调用 Edit 路由

@Html.ActionLink("Edit", "Topic", "Edit", new { id = item.ID })

现在生成的链接结果是这样的……

http://localhost:777/Admin/Topic?Length=4

如何使用 ActionLink 方法正确使用路由和目标。

谢谢!

4

1 回答 1

3

使用正确的重载ActionLink来获得预期的结果

@Html.ActionLink("Edit", "Topic", "Edit", new { id = item.ID }, null)

过载是ActionLink(string linkText, string actionName, string controllerName, object routeValues, object htmlAttributes)

当您向操作提供参数时,需要添加nullas null HTML 属性。或者,如果您确实需要将 HTML 属性应用于链接,您可以使用:

@Html.ActionLink("Edit", "Topic", "Edit", new { id = item.ID }, new { @class = "MyCustomCssClassName" } )
于 2012-08-03T17:36:11.763 回答