Как оформить эту страницу в бритвенном мире - PullRequest
0 голосов
/ 17 января 2012

В MVC-3 / Razor мне нужно создать страницу, которая будет иметь пять наборов элементов управления. Каждый набор будет иметь выпадающий список и текстовое поле. Пользователь выберет опцию из выпадающего списка и затем предоставит некоторую обратную связь по текстовому полю.

Когда вид отображается в первый раз, мне нужно только включить элементы управления в первом наборе. Принимая во внимание, что все средства управления в 4 других наборах должны быть отключены. Как только пользователь выполнит действие в первом наборе элементов управления (выберите optino в раскрывающемся списке и введите в текстовом поле), второй набор должен стать активным, тогда как другой набор элементов управления все еще должен быть отключен. Данные, показанные во втором раскрывающемся списке, зависят от того, что выбрал пользователь в первом раскрывающемся списке. Когда пользователь выполнит действие во втором наборе, данные в третьем раскрывающемся списке будут зависеть от того, какой пользователь выбрал первое и второе раскрывающееся меню и т. Д.

Я разработчик aspx для веб-форм и не уверен, что будет лучшим способом разработки этого в мире MVC-бритв (потому что нет состояния просмотра и т. Д.).

1 Ответ

1 голос
/ 17 января 2012
Step 1)

Что необходимо уточнить, что заставит включить другой “sets”?

  • После того, как пользователь выбрал элемент в раскрывающемся списке

ИЛИ

  • Это после того, как они ввели некоторый текст в текстовое поле?

Что также необходимо уточнить, если у вас есть раскрывающийся список И текстовое полеони оба включены одновременно или это текстовое поле включено только после Вы выбрали элемент в раскрывающемся списке?

Как только вы разобрались с этим, перейдите к следующему шагу.

Step 2)

Нужно ли пользователям визуально видеть 4 набора с самого начала (отключение 3 других наборов) или Вы можете просто показать другие наборы (на лету) после того, как предыдущий был успешно заполнен?

В зависимости от ответов, это может изменить ваш подход.

Что касается меня, то я бы просто сделал / show one set, который загружается в b.eginning.Как только пользователь выберет элемент из выпадающего списка, я сделаю AJAX-вызов, передающий выбранный элемент, и получу обратно список значений для второго выпадающего списка.Затем, используя jQuery, я бы продублировал строку (или div) первого набора все при изменении значений во втором раскрывающемся списке.

Повторите процесс длякогда элемент выбран во втором раскрывающемся списке.

Но подождите!Там больше !!!

Предположим, вы достигли третьего сета.Что если пользователь решит изменить значение в первом раскрывающемся списке?Каковы ваши требования, если это произойдет?Вы должны удалить все другие наборы и начать сначала?Я думаю, что так ...

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

Дублирование строки (или элемента div) с помощью jQuery довольно забавно и с точки зрения производительности, это хорошо.

Имейте в виду, вам нужно будет присвоить другой идентификатор своим элементам управления (раскрывающийся список + текстовое поле), поэтому при отправкеформу, вы можете использовать FormCollection, чтобы получить эти динамически сгенерированные элементы управления.

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