让另一个控制器说我的页面“首页/索引”上,我想去的页面MyOtherController /索引/ 1Asp.Net MVC呼叫从视图
我怎样才能做到这一点?
我尝试:
<%= Html.ActionLink("Test", "Index", "MyOtherController", new { id=item.Id }) %>
难道我还必须添加在Global.aspx路由文件?
让另一个控制器说我的页面“首页/索引”上,我想去的页面MyOtherController /索引/ 1Asp.Net MVC呼叫从视图
我怎样才能做到这一点?
我尝试:
<%= Html.ActionLink("Test", "Index", "MyOtherController", new { id=item.Id }) %>
难道我还必须添加在Global.aspx路由文件?
一个选项是在routevalues的列表来指定控制器的名称:
<%= Html.ActionLink("Test", "Index"
, new { controller = "MyOtherController", id = item.Id }) %>
另一种方法是使用ActionLink
过载与htmlAttributes = null
:
<%= Html.ActionLink("Test", "Index"
, "MyOtherController", new { id = item.Id }, null) %>
的缺省路由在这种情况下,ASP.NET MVC模板负责路由。
我不认为ActionLink具有匹配该特定签名的重载。您需要在路由值之后添加“null”以查找匹配的值(对于htmlAttributes)。奥莱的解决方案会更清洁,但它确实是一个偏好问题。它也将有助于可读性,因此您不必猜测每个参数是否为链接文本,动作/控制器等。