HTML.ActionLink vs Url.Action dans ASP.NET Razor

Y a-t-il une différence entre HTML.ActionLink et URL.Action ou s'agit-il simplement de deux façons de faire la même chose ?

Quand dois-je préférer l'une à l'autre ?

Solution

Oui, il y a une différence. Html.ActionLink génère une balise `

Commentaires (8)

Html.ActionLink génère automatiquement une balise `

Commentaires (0)
<p>
    @Html.ActionLink("Create New", "Create")
</p>
@using (Html.BeginForm("Index", "Company", FormMethod.Get))
{
    <p>
        Find by Name: @Html.TextBox("SearchString", ViewBag.CurrentFilter as string)
        <input type="submit" value="Search" />
        <input type="button" value="Clear" onclick="location.href='@Url.Action("Index","Company")'"/>
    </p>
}

Dans l'exemple ci-dessus, vous pouvez voir que si j'ai spécifiquement besoin d'un bouton pour effectuer une action, je dois le faire avec @Url.Action alors que si je veux simplement un lien, j'utiliserai @Html.ActionLink. Le fait est que lorsque vous devez utiliser un élément (HTML) avec une action, on utilise url.

Commentaires (0)