Html.ActionLink
автоматически генерирует тег <a href=".."></a>
.
Url.Action
генерирует только URL.
Например:
@Html.ActionLink("link text", "actionName", "controllerName", new { id = "<id>" }, null)
генерирует:
<a href="/controllerName/actionName/<id>">link text</a>
и
@Url.Action("actionName", "controllerName", new { id = "<id>" })
генерирует:
/controllerName/actionName/<id>
Лучший плюс, который мне нравится, это использование Url.Action(...)
Вы создаете тег привязки самостоятельно, где вы можете легко установить собственный связанный текст, даже с помощью другого тега html.
<a href="@Url.Action("actionName", "controllerName", new { id = "<id>" })">
<img src="<ImageUrl>" style"width:<somewidth>;height:<someheight> />
@Html.DisplayFor(model => model.<SomeModelField>)
</a>