Какое решение для простых и последовательных форм в asp.net mvc - PullRequest
0 голосов
/ 09 декабря 2010

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

Я уже пытался определить как можно больше форм интерфейса, перечислив то, что было необходимо, поэтому у меня есть «пул» типов элементов управления, которые мыможешь использовать;думайте об этом как о редакционных правилах для форм.

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

  • лаконично : если бы я мог не набирать long Html.TextBox(id, value, new with {.all_the_attributes}) для каждого поля, это было бы легко для пальцев и глаз.
  • исчерпывающий : я хочу убедиться, что если нам нужен намек на текстовое поле, все будет там: JavaScript, инициализация, атрибут и т. Д. Всего за один вызов.Я предпочел бы избегать чего-то вроде TextBox.AddHint("bla").AddJavascriptForHint("DoIt()").etc
  • надежного : некоторые из моих коллег могут иметь менее чем удовлетворительное понимание согласованности в пользовательском интерфейсе.Как можно больше я хотел бы, чтобы они чувствовали как можно меньше боли, чтобы сделать переключение желательным.И так как я тоже глуп, иногда я могу также извлечь выгоду из failsafes:)
  • extensible : автоматическое создание текстового поля с классами this и that - это здорово, но иногдамы хотим иметь возможность явно переопределить значения this до thyse.Честно говоря, эта опция является бонусом, если присутствует, мы всегда можем создать редкие специфические входные данные старым способом.

Итак, помня об этом, я начал изучать управление собственным генератором: я запустил класс OurFormэто реализуется расширением HtmlHelper, которое предлагает своего рода DSL для наших входных данных.

<%= Html.OurForm.TextBox("id", "value").AddHint("The hint") %>

Пока все выглядит хорошо.Я могу связать входные данные формы, и если я становлюсь очень ленивым, я могу даже создавать целые формы одним вызовом.Тем не менее, это немного скучно для кода, и, прежде всего, я не могу легко изменить его в представлении.Если я ошибся или хотел бы предложить немного больше возможностей в дизайне, я должен вернуться к коду;частичное представление было бы неплохо, но у меня проблемы с просмотром, как это будет сделано.

В настоящее время я смотрю на Мнение HTML с помощью MvcContrib Input Builders, но я не всегда имеюмодель, которая соответствует форме, так что я не вижу в них решений ... Любая помощь или совет?Чтобы вы посоветовали?Должен ли я продолжать использовать свой собственный строитель?Что вы используете?

TL; DR: что я могу использовать, чтобы иметь возможность быстрее создавать формы

1 Ответ

0 голосов
/ 28 июля 2011

Не знаю много о вашем собственном сборщике, но если он пойдет вам на пользу, я бы порекомендовал смешать его с пользовательскими шаблонами T4. Вы можете найти эти шаблоны для добавления просмотров в C:\Program Files\Microsoft Visual Studio 10.0\Common7\IDE\ItemTemplates\CSharp\Web\MVC 3\CodeTemplates\AddView\CSHTML
Есть несколько встроенных шаблонов, которые вы можете увидеть и узнать, как написать свой собственный. Если вы создадите шаблон и поместите его в тот же каталог, он будет вам доступен при создании представления в Visual Studio Designer

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