我在mvc5工作。我使用这种语法在视图中创建了一个简单的操作链接
@Html.ActionLink("Manage List", "Index", new { @class = "ManageLink" });
但是css没有工作,直到我添加了这样的控制器名称:
@Html.ActionLink("Manage List", "Index",new { controller = "ControllerName" }, new { @class = "ManageLink" });
我想知道为什么我们需要在这里定义控制器名称,而很明显每个视图都与控制器的某些操作方法有关?我对mvc很新,所以需要知道这些事情。
感谢您的帮助。
答案 0 :(得分:1)
您也可以通过简单地指定要设置的可选参数的名称来解决此问题:
@Html.ActionLink("Manage List", "Index", htmlAttributes: new { @class = "ManageLink" });
否则,Razor引擎必须试图找出你试图调用的ActionLink
方法的重载;听起来像你的情况,它认为第三个参数是routeValues
参数。
这也有效:
@Html.ActionLink("Manage List", "Index", "ControllerNameHere", new { @class = "ManageLink" });