Двунаправленная привязка данных в ASP.NET и C # - PullRequest
0 голосов
/ 10 августа 2011

Я пишу страницу, которая использует декларативное связывание данных для привязки значений управления в веб-форме (внутри повторителя) к значениям из источника DataTable. Привязка работает отлично, шаблонные элементы управления повторителя заполнены данными. Однако я понимаю, что с помощью синтаксиса <# Bind ("SourceColumnName") #> (в отличие от синтаксиса Eval ()) я должен иметь возможность получать элементы управления, для которых значения обновлены пользователем, чтобы связать эти значения назад к источнику DataTable . Существует ли ряд обстоятельств, при которых оператор типа <# Bind ("SourceColumnName") #> будет обновлять свои исходные данные, а не наоборот? Чтобы уточнить: я передаю объект DataTable в DataSource поле повторителя в коде, я НЕ использую элемент управления DataSource (который будет прикреплен через свойство DataSourceID). Заранее спасибо.

Ответы [ 2 ]

1 голос
/ 10 августа 2011

"Обычно метод Bind следует использовать только в EditItemTemplate и InsertItemTemplate. Его не следует использовать (или, по сути, требуется) в ItemTemplate, AlternatingItemTemplate или SelectedItemTemplate" (c) www.15seconds.com / issue / 040630.htm

Это означает, что ваш контейнер должен иметь возможности редактирования, чтобы принудительно заставить свой шаблон обновлять базовый источник данных.Afaik DataRepeater не может этого сделать, попробуйте вместо этого использовать GridView, DetailView или FormView.

0 голосов
/ 10 августа 2011

Ретранслятор не имеет поддержки Bidirectional databinding. Вы можете создать элемент только с помощью DataItem.

Вы должны зациклить элементы повторителя и извлечь значения из элемента управления для обновления.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...