Является ASP.NET MVC, который переоценили Помощники HTML?

Заключение в кавычки этого из памяти, таким образом, это не могло бы быть точно.

я не знаю то, что f*ck это делает, но это, кажется, работает так, я не касаюсь его.

забавной вещью является способ, которым я узнал об этом. Этот комментарий был встроен в приложение доступа, которое некоторый разработчик в нашей компании записал для клиента и распределил в MDB. К сожалению, код, который ", кажется, работает" бомбивший и Доступ покорно, открыл окно кода с отладчиком, выделяющим строку прямо ниже комментария. Это точно не внушало доверие с тем клиентом.

15
задан Peter Mortensen 17 April 2011 в 09:44
поделиться

4 ответа

Допустим, у вас есть много параметров запроса в URL-адресе, например

site.com?a=1&b=2&c=3&d=4&e=1&f=1

<%= Html.ActionLink("Click me", "ActionName", null, new {a=1, b=2, c=3, d=4, e=1, f=1}) %>

Ссылка действия может построить это URL для вас. Если бы у вас не было помощника, вам пришлось бы вручную добавлять ключи и vlaues к URL-адресу. И это настоящая боль. Вспомогательная функция URL также может сопоставлять маршруты URL.

9
ответ дан 1 December 2019 в 02:02
поделиться

На самом деле, нет большой разницы между

<a href="ActionName" target="_blank">Click Me</a>

и

<%= Html.ActionLink("Click me", "ActionName", null, new {target="blank"}) %>

, потому что в обоих случаях вы жестко кодируете (URL в первом, имя действия во втором).

Вот почему я создаю специальные вспомогательные методы для ссылок , а затем я использую

<%= Html.LinkSomeAction("Click me") %>

Таким образом я уверен, что когда я передумаю, какое имя должно иметь действие, я буду в порядке; Кроме того, мне никогда не придется беспокоиться о неправильном вводе имен действий или ссылок.

Решение, предложенное mxmissile, тоже хорошее.

0
ответ дан 1 December 2019 в 02:02
поделиться

Еще лучше, используйте MvcContrib и избавьтесь от подверженных ошибкам «волшебных строк» ​​и замените их лямбдами.

<%= Html.ActionLink<MyController>(x => x.ActionName() ,"Click me",new {target="blank"}) %>
7
ответ дан 1 December 2019 в 02:02
поделиться
Другие вопросы по тегам:

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