Зачем использовать HTML.ActionLink вместо общего якоря - PullRequest
0 голосов
/ 22 сентября 2018

Предложение ниже генерирует привязку HTML, указывающую на действие в контроллере ASP.net MVC:

@Html.ActionLink("Text", "Action", "Controller")

Но код ниже делает то же самое:

<A href="~\Controller\Action">Text</a>

Второй вариант мне кажется лучше, потому что он менее сложен, и он позволил бы событию помещать сложные элементы HTML внутрь.

Так есть ли причина, по которой я должен использовать первый вместо второго?

Ответы [ 2 ]

0 голосов
/ 23 сентября 2018

На мой взгляд, первый выглядит лучше, потому что вы можете добавить параметры маршрута и атрибуты html в определенные поля.Легко читать.Например

@Html.ActionLink("LinkText", "Action", "Controller", new { id = item.ID }, new htmlAttributes {})
0 голосов
/ 22 сентября 2018

Вы можете использовать это:

<a href="@Url.Action("Action","Controller")">Text or Inner html</a>

Этот код позволяет помещать HTML внутрь.

Код, подобный следующему: "~ \ Controller \ Action" может вызвать проблемы, если вы используете пользовательскиймаршрутизации.Например, вы хотите использовать имя действия перед контроллером в URL.

...