1

我在一个视图中有一些 Razor 代码应该路由到我模型的不同部分:

@Html.ActionLink("Edit", "Edit", "Journal", new { id = item.JOURNAL.REF_ID })

但是当我查看发出的 HTML 时,它并没有反映我所写的内容:

 <a href="/Reference/Edit?Length=7" id="25750">Edit</a>

我怎样才能阻止这种情况发生?

4

1 回答 1

4

那是因为您使用了错误的重载。它应该是这样的:

@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它们参数的确切意义。

于 2012-05-24T09:29:18.593 回答