モデルの別の部分にルーティングすることになっているビューに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