【发布时间】:2015-10-06 14:31:40
【问题描述】:
我遇到了 MVC 5 中关于 Html.Actionlink 的不一致之处。在不同的 cshtml 文件中我可以使用相同的代码,但是生成的 url 目标是不同的。
比如这行代码:
<td>@Html.ActionLink(item.Description, "Edit", new { item.ParentTableID }) </td>
生成此 URL
localhost\MyControllerClass\Edit?ParentTableID=35
然后正确调用 ActionView 方法 Edit 并按预期为参数提供 35。
但是,在另一个 cshtml 文件中,这一行
<td>@Html.ActionLink("Edit", "EditChild", new { id = f.ApplicationTableFieldID})</td>
产生这个网址
localhost/MyControllerClass/Edit/7
当它点击 EditChild Action View 时,参数为 null。
我现在已经看过几次了,但还不能理解是什么造成了不同。但我需要第一个结果。
谢谢。
【问题讨论】:
-
不是我知道答案,但是在您的每个操作链接中,对于参数,您指定 'id' = f.ApplicationTableFieldID,而在另一个中,您只有 item.ParentTableID。你试过让它们一样吗?就拥有
@Html.ActionLink("Edit", "EditChild", new {f.ApplicationTableFieldID})而言
标签: asp.net-mvc-5 html.actionlink