0

私は非常に奇妙な問題のように思われることに困惑しています。

私の Razor マークアップには、次のものがあります。

@Html.ActionLink("World", "Browse", "Destination")

しかし、生成される HTML は次のとおりです。

<a href="/Destination/Browse/1/africa-middle-east">World</a>

追加のデータは、実際には、他のリンクで使用している有効なデータであることに注意してください。しかし、なぜそれがここに表示されるのでしょうか。デバッガーで検査することにより、最初の行が 2 番目の行を生成することを確認することもできます。

私はここで本当にばかげたことをしていることを知っています。私はそれが何であるかわかりません。

4

1 に答える 1

1

タグを作成するために古いルート値を使用していると思います。同様のシナリオについては、この記事を確認してください。

このオーバーロードを使用して、RouteValuesとしてnullを明示的に渡して、それがもたらす変更を確認してください

public static MvcHtmlString ActionLink(
    this HtmlHelper htmlHelper,
    string linkText,
    string actionName,
    RouteValueDictionary routeValues
)

したがって、コードは次のように書き直すことができます。

@Html.ActionLink("World", "Browse", "Destination",null)

または、このバージョンを使用することもできます

<a href="Url.Action("Browser", "Destination")">World</a>
于 2012-09-18T20:36:15.673 に答える