我正在尝试使用以下代码的actionlink:
@Html.ActionLink("Home", "List", "Product",
new {
@class = horizontal ? "btn btn-default btn-sm" :
"btn btn-block btn-default btn-lg"
})
然而,除非我在html属性之前为routevalues添加null,否则这会给我一个错误。我无法弄清楚为什么会这样。这可能是一个mvc版本问题,或者我在某个地方引用了错误的dll?
请协助。我正在关注Adam Freeman(Apress)的Sportsstore示例应用程序,他的代码没有路由值的null并且显然有效。
答案 0 :(得分:0)
ActionLink有一些重载。你需要的是this one:
public static MvcHtmlString ActionLink(
this HtmlHelper htmlHelper,
string linkText,
string actionName,
string controllerName,
object routeValues,
object htmlAttributes
)
您正在尝试传递htmlAttributes的匿名object
。要匹配签名,您的routeValues
需要包含一个值(在这种情况下为null)。没有三个字符串和一个对象作为参数的重载,因此您会收到错误。