由于某种原因,我的操作链接行为会将用户发送到一个陌生的地方。
我有两个类:位置和属性。
从位置视图我想要一个链接,引导用户浏览该位置的属性:
@Html.ActionLink( "Browse", "Browse", "Property", new { id=item.ID } )
所以我希望HTML链接和方法具有相同的名称:“browse”。
我希望将ID发送到属性控制器,而不是在当前控制器/视图中使用它。请注意,“位置”一词不会出现在上面的行中。
但是URL结束了:
我希望它最终像这样:
MVC 3中的API似乎是:
ActionLink( "text to display as HTML link", "action name", "controller", "parameters" )
这似乎是我的表现,但我得到了意想不到的结果。
我做错了什么?
答案 0 :(得分:5)
没有方法签名ActionLink(HtmlHelper, String, String, String, Object)
。
它使用的ActionLink(HtmlHelper, String, String, Object, Object)
具有以下参数名称:
htmlHelper, linkText, actionName, routeValues, htmlAttributes
请改用此方法:
@Html.ActionLink( "Browse", "Browse", "Property", new { id=item.ID }, null)
具有以下参数名称:
htmlHelper, linkText, actionName, controllerName, routeValues, htmlAttributes
答案 1 :(得分:3)
您必须在null
参数的末尾添加Html.ActionLink
,否则此length=8
会一直试图让您发疯。
@Html.ActionLink("Browse", "Browse", "Property", new { id = item.ID }, null)