从另一个控制器重定向到控制器的操作,而两个控制器中的操作名称相同

时间:2014-10-08 13:09:22

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

我有两个控制器Controller1和Controller2 我从控制器Controller2重定向到控制器Controller1的动作名称Action1,而在控制器Controller2中有动作名称Action1。 所以当我使用时

@Html.ActionLink("Cancel", "Action1", "Controller1", new { id = "btnCancel", @class = "btn btn-lg btn-primary btn-block FLarge " }) 

重定向到Controller2的动作Action1。

请你帮我解决这个问题

1 个答案:

答案 0 :(得分:4)

啊,发布你正在使用的实际代码有帮助。您实际上正在使用this overload

public static MvcHtmlString ActionLink(
   this HtmlHelper htmlHelper,
   string linkText,
   string actionName,
   Object routeValues,
   Object htmlAttributes
)

你想要this one

public static MvcHtmlString ActionLink(
   this HtmlHelper htmlHelper,
   string linkText,
   string actionName,
   string controllerName,
   Object routeValues,
   Object htmlAttributes
)

基本上,在<{1}} 之前添加一个空对象。您会注意到the documentation htmlAttributes没有超载。您必须小心那些string, string, string, object重载,在没有编译器错误的情况下抓取错误的很容易。

最后,你想要:

@Html