The problem in Html.ActionLink() is that you can't add additional html content inside the tag that it generates. For example, if you want to add an icon besides the text like:
<a href="/Admin/Users"><i class="fa fa-users"></i> Go to Users</a>
Using Html.ActionLink(), you can only generate:
<a href="/Admin/Users">Go to Users</a>
So, to resolve this, you can use Url.Action() to generate only the URL inside the tag like:
// Here, Url.Action could not generate the URL "/admin/users". So this doesn't work.
<a href="@Url.Action("", "Users", "Admin")"><i class="fa fa-usesr"></i> Go to Users</a>
// This works, as we know it but won't pass the Area needed.
<a href="@Url.Action("", "Users")"><i class="fa fa-users"></i> Go to Users</a>
So, how do you pass the Area using Url.Action()?
See Question&Answers more detail:os