asp.net Шаблон для обработки ситуаций просмотра / редактирования / вставки - PullRequest
0 голосов
/ 11 января 2012

Я новичок в asp.net и думаю о разработке сайта с типичным представлением Master-Detail. Существует GridView-Control, который отображает все представленные ниже записи и подробности, чтобы редактировать существующие записи, добавлять новые и отображать их в деталях.

В asp.net есть несколько элементов управления, которые могут обрабатывать такие ситуации: GridView в сочетании с DetailsView или FormView. Но у всех этих подходов есть общее то, что они, похоже, предназначены для быстрой разработки приложений. Я хочу использовать свой собственный DAL и т. Д., Поэтому мне нужно иметь полный контроль над операторами вставки / обновления, например.

Какой типичный подход asp.net для решения этой проблемы? Должен ли я создать UserControl для представления Detail, который самостоятельно сохраняет свое состояние (режим View / Edit / ...)? Кроме того, представление отличается лишь незначительно с его состоянием (например, представление вставки имеет еще один элемент управления вводом, чем представление редактирования). Кажется, что упомянутые DetailsView и FormView также не могут справиться с этим, и поэтому у меня много кода, подобного копированию и вставке.

Я думаю, что это довольно распространенная ситуация. Что вы предпочитаете в таких ситуациях?

Ответы [ 2 ]

0 голосов
/ 12 января 2012

Для мастер-части я создаю интерфейс вручную, создавая текстовые поля, метки и т. Д. Для части Details я использую редактируемый GridView. Это утомительное задание.

Конечно, вы можете использовать некоторые строительные леса для генерации кода ASP.Net для вашего интерфейса из модели базы данных. Вы можете проверить это: http://codepaste.net/b1geac

0 голосов
/ 11 января 2012

Вы можете вручную привязать данные из своего пользовательского DAL к DetailsView или FormView напрямую, например:

this.dvw.DataSource = new[] { DAL.GetObject(1) };
this.dvw.DataBind();

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

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

Это действительно зависит от вашей архитектуры, чтоВы хотите достичь, насколько сложна ваша объектная модель, и множество других факторов.

...