ASP.NET MVC: ActionLink против простого URL

В ASP.NET MVC я вижу, что у меня есть удобные помощники HTML, которые я могу использовать для создания полей форм и множества других мелочей. Но тогда есть «ActionLinks».

Зачем использовать ActionLink вместо того, чтобы просто писать чертов URL в теге привязки HTML?

Другими словами, зачем мне использовать

<%: Html.ActionLink("Back to List", "QuantityTypes") %>

вместо простого старый HTML и написание:

<a href="/internal/quantitytypes">Back to List</a>

Конечно, я должен получить что-то дополнительное с ActionLink. Я просто скучаю по нему, верно?

10
задан Dan Esparza 1 November 2013 в 19:10
поделиться

2 ответа

Ссылка действия создаст правильный URL на основе контроллера, действия, области, параметров и т.д.... Он генерирует URL на основе правил сопоставления URL, определенных в вашей системе маршрутизации MVC. Он также сопоставит параметры с правильным URL в зависимости от того, должны ли они быть включены в URL напрямую или через параметр строки запроса.

Да, вы могли бы сделать это самостоятельно и просто напечатать все это, но функция создает URL за вас и гарантирует, что сгенерированный URL будет правильным. Это вспомогательная функция... она помогает вам создавать корректные ссылки :)

Вам следует прочитать пост Скотта Гатри и обратить особое внимание на раздел "Построение исходящих URL из системы маршрутизации". В нем рассказывается о причинах и объясняются другие помощники, использующие систему маршрутизации.

9
ответ дан 4 December 2019 в 01:55
поделиться

Вы получаете централизованный контроль над своими URL. Так что в следующий раз, когда вам нужно будет изменить его для целей SEO, вам не нужно искать каждое место в приложении, просто переключите его в Global.asax.

0
ответ дан 4 December 2019 в 01:55
поделиться
Другие вопросы по тегам:

Похожие вопросы: