Я использую ObjectDataSource и FormView.
В FormView у меня есть набор элементов управления. Когда FormView находится в редакции, у меня есть, в частности, ComboBox и TextBox, которые связаны следующим образом: когда ComboBox принимает некоторые специальные значения, TextBox должен быть доступен только для чтения или нет.
На данный момент я получаю такое поведение следующим образом: ComboBox запускает обратную передачу, когда его выбранный элемент изменяется, а в «OnPreRender» моей страницы я получаю значение ComboBox и соответствующим образом обновляю свойство Readonly TextBox.
Что мне не нравится в этом методе, так это то, что я не использую свою объектную модель, которая используется ObjectDataSource. Проблема просто в том, что когда FormView находится в редакции, похоже, нет способа получить экземпляр редактируемого объекта. DataItem имеет значение null, и я не нашел способа автоматически создать новый объект из значений в элементах управления, чтобы передать его моему бизнес-уровню. Конечно, я мог бы выполнить всю работу сам, явно получив все значения в элементах управления, но это нехорошо.
Кто-нибудь встречал такой сценарий? Есть идеи, как получить чистый дизайн?