2010-04-24 7 views
2

Я нахожу повторение наборов элементов управления для каждого из шаблонов EditItemTemplate, InsertItemTemplate и ItemTemplate в FormView, чтобы быть утомительным и рискованным, с точки зрения дублирования макета и кода и т. Д. Я бы скорее создал пользовательский элемент управления xxxDetails и использует его в каждом шаблоне, сокращая расположение и расположение кода до одного места.Использование пользовательских элементов управления в шаблонах FormView

Однако это вводит несколько сложностей для сценариев привязки данных. Существуют ли какие-либо расширенные шаблоны или практические руководства по использованию пользовательских элементов управления в этих сценариях?

ответ

3

Microsoft просто добавила действительно большую поддержку для этого в ASP.NET 4.0. Он называется DynamicData. Они добавили методы во все элементы управления данными под названием EnableDynamicData(type). В ASP.NET есть шаблоны по умолчанию, но вы можете сделать свой собственный.

Чтобы использовать встроенные пользовательские шаблоны, просто добавьте каталог DynamicData/Templates в свою папку. Внутри него вы можете добавлять вложения типов и редактировать шаблоны для всех ваших типов данных. Шаблоны по умолчанию имеют встроенные валидаторы, поэтому они являются отличной отправной точкой!

Вот образец, который я собрал для using custom controls in DynamicData templates. Я использовал слайдер для редактирования целых чисел и CurrencyInput за деньги и т. Д.

Если вы можете использовать ASP.NET 4.0, я бы очень рекомендовал это сделать. Кроме того, даже если вы не можете, вы все равно можете использовать предварительно созданные шаблоны в качестве руководства.

+0

Мне нравятся динамические данные, и это было с тех пор, как до ASP.NET 4.0, но это не решает мою проблему. Вы говорите о шаблонах страниц, я говорю о шаблонах FormView, которые можно использовать в шаблонах страниц. – ProfK

+1

Нет, я говорю о шаблонах, используемых в элементах FormView. Это новая функция WebForms, добавленная в ASP.NET 4.0. Это не DynamicData, о котором вы думаете, начиная с 3.5 (это шаблоны страниц). Пожалуйста, запустите образец, чтобы увидеть, что я предлагаю. Вы можете использовать его в проектах веб-приложений и веб-проектах! Я думаю, вы действительно найдете его полезным. Его единственная цель состояла в том, чтобы решить проблему, которую вы подняли, которая слишком много копирует и вставляет и слишком злоупотребляет TemplateItems. – Banzor

Смежные вопросы