Можете ли вы иметь динамическое поле данных, которое состоит из списка полей? - PullRequest
1 голос
/ 02 июня 2009

Это чисто теоретический вопрос (по крайней мере, до тех пор, пока я не начну пытаться его реализовать), но здесь идет речь.

Я давно написал веб-форму, в которой есть настраиваемый раздел для получения информации. В основном для некоторых клиентов нет полей, для других - до 20 полей. Я начал работать, динамически создавая поля в нужное время в жизненном цикле страницы и преодолевая множество головных болей.

2 года спустя мне нужно сделать довольно большие обновления для этой веб-формы, и есть несколько отличных новых технологий. Я немного поработал с ASP.NET Dynamic Data и, ну, я полубезумный план только что пришел мне в голову:

Объект Ticket имеет отношение один-ко-многим с ExtendedField, для краткости мы будем называть это отношение Fields.

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

Большие вопросы здесь, вероятно, будут:

1) Может ли один шаблон поля преобразовываться в несколько веб-элементов управления без сбоев?

2) Могут ли динамические данные обрабатывать обновление / вставку нескольких строк таким образом?

3) У меня был третий вопрос несколько минут назад, но коллеги прервали меня, и я забыл. Итак, третий вопрос: что такое третий вопрос?

Так в принципе, это звучит так, как будто это может работать, или я упускаю лучшее / более очевидное решение?

Ответы [ 2 ]

0 голосов
/ 24 марта 2011

1.) Не очень красиво. Можете ли вы представить отображение даты, целых чисел, телефонных номеров, URL-адресов и т. Д. С помощью всего ОДНОГО пользовательского элемента управления, например text.ascx? Почему бы не иметь несколько шаблонов полей и использовать UIHint для указания использования на столбец?

2.) Да.

3.) Определите в основном?

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

0 голосов
/ 08 июля 2009

Вы пытались создать FieldTemplate, у которого был "ListView" из всех полей? (ListView будет использовать динамические данные, чтобы определить, какой FieldTemplate отображать для каждого поля.)

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

...