这个问题在这里已有答案:
我不明白为什么如果我在@Html.ActionLink()上添加参数,根就不会以正确的方式进行。
事实上,如果我使用这个
@Html.ActionLink("Torna alla lista", "Index", "VwOpenOrders")
基于“/ VwOpenOrders”的程序就是我的方面。
如果我添加这样的参数
@Html.ActionLink("Torna alla lista", "Index", "VwOpenOrders", new { SearchLV = TempData["SearchLV"]})
它继续“/ VwFases?Length = 12”,其中“VwFase”是我启动动作链接的页面的控制器。
请有人可以帮帮我吗?我究竟做错了什么?
谢谢
您应该使用以下代替
@Html.ActionLink("Torna alla lista", "Index", "VwOpenOrders", new { SearchLV = TempData["SearchLV"]},null)
通过添加“null”的附加参数来获得方法的正确重载
您应该尝试使用的ActionLink重载如下:
public static MvcHtmlString ActionLink(
this HtmlHelper htmlHelper,
string linkText,
string actionName,
string controllerName,
object routeValues,
object htmlAttributes
)
话虽这么说你应该改变你的代码如下:
@Html.ActionLink("Torna alla lista"
, "Index"
, "VwOpenOrders"
, new { SearchLV = TempData["SearchLV"]}
, null)
有关ActionLink重载的详细列表,请查看here。
你实际上正在使用这个ActionLink
overload:
public static MvcHtmlString ActionLink(
this HtmlHelper htmlHelper,
string linkText,
string actionName,
object routeValues,
object htmlAttributes
)
第三个参数是qazxsw poi,而不是qazxsw poi,因此qazxsw poi是提供给它的字符串routeValues
的长度。你应该做的是使用controllerName
参数:
Length=12
或者使用VwOpenOrders
:
controller