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 に答える