Динамическое добавление нескольких разделов -ASP.NET - PullRequest
2 голосов
/ 19 октября 2011

У меня есть веб-страница с неопределенным количеством разделов (состоит из набора текстовых полей, выпадающих меню и т. Д.).Пользователь нажимает кнопку «Добавить раздел», и этот раздел должен добавляться динамически.Не существует верхнего предела того, сколько разделов может добавить пользователь.Затем есть кнопка «Сохранить», в которой мне нужно пройти через все разделы и сохранить данные.

Моя первая мысль - создать раздел в качестве пользовательского элемента управления, который я динамически добавляю, когда пользователь нажимает на«Добавить раздел» на стороне сервера.

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

Мысли или предложения?

1 Ответ

1 голос
/ 19 октября 2011

Я не думаю, что есть какая-то ошибка в использовании решения для управления пользователями.Аналогичным (на стороне сервера) методом будет использование элемента управления с привязкой к данным, такого как Repeater или ListView - шаблон элемента будет определять раздел.Преимущество серверного решения заключается в том, что оно может быть быстро построено и может использовать инфраструктуру ASP.NET, такую ​​как view-state (чтобы вам не приходилось беспокоиться о поддержании состояния на постбеках).Типичный разработчик ASP.NET Forms легко поймет логику.Обратной стороной является то, что больший размер разметки, многократная передача больших данных при добавлении разделов (независимо от того, используете ли вы полную или частичную обратную передачу, не имеет большого значения - состояние просмотра будет существенной частью передаваемых данных).лично предпочтет подход к шаблонам, потому что вы избегаете постбэков и связанных с ними передач данныхНо есть две проблемы - а) относительно сложная логика для отображения / обновления разделов - помните, что ваш код фрагментирован в двух местах - js и код на стороне сервера - типичным разработчикам будет трудно понять б) надежность java-скрипта (иногда,вы должны предусмотреть механизм отката, если js не поддерживается)

...