Как я обязываю повторитель со Списком <Человек> также обновлять связанные объекты? (С 2 путями)

Оказывается, элементы DOM не будут работать с алгоритмом структурированного клона . Изображения, однако, так что я мог бы просто передать изображения холста вместо элемента canvas. Вместо этого я решил проанализировать элементы DOM для извлечения необходимых мне данных и использовал pdfMake для создания файла pdf (из-за размытости при использовании html2canvas / jsPDF).

15
задан JMD 14 March 2016 в 21:13
поделиться

3 ответа

Простой ответ заключается в том, что элемент управления Repeater не поддерживает тот вид двусторонней привязки данных, который вам нужен. Вдобавок к этому свойство DataItem используется только во время создания элемента повторителя, а после события ItemDataBound устанавливается в ничто. Таким образом, вы не можете использовать это свойство, чтобы получить исходный объект, который вы использовали при создании конкретного элемента репитера после обратной передачи (как вы делаете в своем псевдокоде).

Вам придется пройти через элементы репитера, как вы предложили (убедитесь, что чтобы убедиться, что элемент имеет ListItemType.Item или AlternatingItem, прежде чем что-либо делать), а затем извлеките значения из текстовых полей и используйте их в обновлении.

8
ответ дан 1 December 2019 в 04:10
поделиться

Если вы привязываете Repeater к нужному списку людей, например

this.Repeater1.DataSource =  GetPersons();

, а GetPersons () - это метод, возвращающий список объектов людей you could use

<asp:TextBox ID="txtForename" runat="server" Text='<%# Eval("Forename") %>' />
7
ответ дан 1 December 2019 в 04:10
поделиться

In addition to the above, you also need to bind the repeater to the List. Right now the text boxes are assigned to the value of the Forename (or potentailly bound if you use the

<# Bind("Forename") %>

tag), but the Repeater Container has no DataItem.

2
ответ дан 1 December 2019 в 04:10
поделиться
Другие вопросы по тегам:

Похожие вопросы: