1. ホーム
  2. asp.net-mvc

[解決済み】ASP.NET RazorのHTML.ActionLinkとUrl.Actionの比較

2022-03-25 20:51:10

質問

との間に違いはあるのでしょうか? HTML.ActionLinkUrl.Action それとも、同じことをするための2つの方法なのでしょうか?

どのような場合に、どちらを選ぶべきでしょうか?

どのように解決するのですか?

はい、違いますね。 Html.ActionLink を生成します。 <a href=".."></a> というタグがあるのに対し Url.Action はURLのみを返します。

例えば

@Html.ActionLink("link text", "someaction", "somecontroller", new { id = "123" }, null)

が生成されます。

<a href="/somecontroller/someaction/123">link text</a>

Url.Action("someaction", "somecontroller", new { id = "123" }) が生成されます。

/somecontroller/someaction/123

また Html.Action これは、子コントローラのアクションを実行します。