我在一个视图中有一些 Razor 代码应该路由到我模型的不同部分:
@Html.ActionLink("Edit", "Edit", "Journal", new { id = item.JOURNAL.REF_ID })
但是当我查看发出的 HTML 时,它并没有反映我所写的内容:
<a href="/Reference/Edit?Length=7" id="25750">Edit</a>
我怎样才能阻止这种情况发生?
我在一个视图中有一些 Razor 代码应该路由到我模型的不同部分:
@Html.ActionLink("Edit", "Edit", "Journal", new { id = item.JOURNAL.REF_ID })
但是当我查看发出的 HTML 时,它并没有反映我所写的内容:
<a href="/Reference/Edit?Length=7" id="25750">Edit</a>
我怎样才能阻止这种情况发生?
那是因为您使用了错误的重载。它应该是这样的:
@Html.ActionLink("Edit", "Edit", "Journal", new { id = item.JOURNAL.REF_ID }, null)
让我们看看为什么你使用了错误的重载。让我们分解一下你写的内容:
@Html.ActionLink(
"Edit", // linkText
"Edit", // actionName
"Journal", // routeValues
new { id = item.JOURNAL.REF_ID } // htmlAttributes
)
看到问题了吗?
现在让我们分解正确的方法:
@Html.ActionLink(
"Edit", // linkText
"Edit", // actionName
"Journal", // controllerName
new { id = item.JOURNAL.REF_ID }, // routeValues
null // htmlAttributes
)
看到不同?
我建议您仔细阅读文档和帮助程序的不同可用重载以及ActionLink
它们参数的确切意义。