Должен ли я использовать HtmlHelper или свернуть мои собственные элементы управления? - PullRequest
1 голос
/ 25 ноября 2008

Я только начинаю изучать ASP.NET MVC и столкнулся с вопросом. Я пытаюсь определить, должен ли я использовать HtmlHelper для создания клиентских элементов управления или я должен просто свернуть свой собственный. Моя интуиция хочет склоняться к тому, чтобы просто кататься по своим, потому что это дает мне полный контроль - и использовать jQuery для украшения и добавления кросс-браузерной функциональности. Но тогда я вижу преимущества использования HtmlHelper для различных сложных элементов управления, которые могут включать такие вещи, как подкачка страниц.

Я ищу опыт о том, когда лучше было использовать HtmlHelper и когда лучше было кататься самостоятельно.

Ответы [ 4 ]

3 голосов
/ 25 ноября 2008

Чем больше они добавляют в HtmlHelper, тем больше я в конечном итоге использую их сам.

Посмотрите на эти сообщения от ScottGu: MVC Preview 5 а также MVC Beta

Если вы не используете версии полей ввода HtmlHelper, вы не получите хорошую бесплатную проверку.

Кроме того, я не уверен, что мешает вам украшать элементы управления HtmlHelper тем, что вам нужно, чтобы сделать их пригодными для jQuery.

Вы можете добавить любые необходимые вам атрибуты, используя перегрузку htmlAttributes, например:

<%= Html.TextBox("LastName", ViewData.Model.LastName, new { @class = "required" })%>

Интересная часть того, о чем я говорю, - это анонимный объект, который вы видите там (new {@class = "required"}).

Вы можете положить туда все, что вам нужно, и оно будет добавлено в раздел атрибутов элемента управления.

Удачи!

2 голосов
/ 25 ноября 2008

Раскатывать свои собственные вещи довольно легко для простых случаев, но это становится сложнее, чем более "волшебным" вы хотите, чтобы они были.

К счастью, вы можете строить, как вы идете.

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

1 голос
/ 25 ноября 2008

Реальный вопрос, который вам нужно задать себе: нужен ли вам полный контроль, нужен ли вам рабочий контроль, который выполняет работу в кратчайшие сроки (это не значит, что вы должны жертвовать качеством).

Если скорость является проблемой, используйте HtmlHelper, если вы хотите играть на контрольной земле, а затем переходите к собственному. Если вы не уверены, используйте HtmlHelper и сохраните самодельные элементы управления для экспериментов в свободное время.

0 голосов
/ 26 ноября 2008

Я создал свободный интерфейс для HTML и решил поделиться им здесь . Может быть, вы найдете хорошую альтернативу. Я также написал сообщение в блоге об этом.

Вот тизер:

<%=this.TextBox(x => x.FirstName).Class("required").Label("First Name:")%>
<%=this.CheckBox("enabled").LabelAfter("Enabled").Title("Click to enable.").Styles(vertical_align => "middle")%>

Критика и материалы приветствуются.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...