В ASP.NET MVC я вижу, что у меня есть удобные HTML-помощники, которые я могу использовать для создания полей формы и любого количества других мелочей. Но тогда есть ActionLinks.
Зачем использовать ActionLink вместо того, чтобы просто писать собственный darn url в теге привязки HTML?
Другими словами, почему я должен использовать
<%: Html.ActionLink("Back to List", "QuantityTypes") %>
вместо простого использования HTML-кода и написания:
<a href="/internal/quantitytypes">Back to List</a>
Конечно, я должен получить что-то дополнительное с ActionLink. Я просто пропустил это, не так ли?
Ответ 1
Ссылка на действие создаст вам правильный URL-адрес на основе контроллера, действия, областей, параметров и т.д. Он генерирует URL-адрес на основе правил сопоставления URL-адресов, определенных в вашей системе маршрутизации MVC. Он также преобразует params в правильный URL-адрес, в зависимости от того, должен ли он быть включен в URL-адрес напрямую или с помощью параметра querystring.
Да, вы могли бы сделать это самостоятельно и просто набирать все, но он создает URL-адрес для вас и гарантирует, что URL-адрес, который генерируется, является правильным. Это вспомогательная функция... она помогает вам создавать допустимые ссылки:)
Вы должны прочитать сообщение Скотта Гатри и обратить особое внимание на раздел " Построение исходящих URL-адресов из системы маршрутизации". Это дает причины и объясняет другие помощники, которые используют систему маршрутизации.
Ответ 2
Вы получаете централизованное управление URL-адресами. Поэтому в следующий раз, когда вам нужно изменить один для целей SEO, вам не нужно искать все места в приложении, просто переключите его в Global.asax.
Ответ 3
Что делать, если вы хотите изменить имя контроллера с внутреннего на внешний. Что сейчас произойдет? Вам понадобится изменить ссылку href вручную. ActionLink выполнит автоматическую маршрутизацию. Вам не нужно возиться с URL-адресами.
Ответ 4
Еще одна причина для использования ActionLink поверх голого URL-адреса заключается в том, что вам может потребоваться выставить ссылку для загрузки на защищенный ресурс, доступ к которому может получить только приложение с помощью олицетворения личности.