Динамически созданные флажки ASP.NET не снимаются после обратной записи - PullRequest
0 голосов
/ 11 марта 2011

У меня есть список отображения флажка в зависимости от того, что использованный выбирает из выпадающего списка.Когда значение раскрывающегося списка изменяется, происходит обратная запись.Кроме того, при изменении флажка происходит повторная отправка сообщения.

Моя проблема заключается в том, что я выбираю значение из раскрывающегося списка и говорю, что создано 6 флажков.Я решил, что хочу снять флажок № 3. Затем передумать и выбрать новое значение из выпадающего списка.Когда новые флажки будут созданы, флажок 3 останется непроверенным!?!

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

Вот код, который генерирует флажки:

For Each _element In myTools.getElements(templateID, myTools.getConnectionStringFromAirlineName(ddl_Source.SelectedValue)).Rows
Dim tr As New HtmlTableRow
Dim td_elementChecked As New HtmlTableCell
Dim cb_ID As New CheckBox
cb_ID.ID = templateID & _element.item(0)
// As you can see i'm setting check to true each time?
cb_ID.Checked = True
cb_ID.AutoPostBack = True
cb_ID.DataBind()
AddHandler cb_ID.CheckedChanged, AddressOf handlesGenericCheckedChange
Dim td_elementName As New HtmlTableCell
Dim lbl_elementName As New Label

td_elementName.Controls.Add(lbl_elementName)
td_elementChecked.Controls.Add(cb_ID)
tr.Cells.Add(td_elementChecked)
tr.Cells.Add(td_elementName)
table_elements.Rows.Add(tr)
table_elements.DataBind()
present = True
Next

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

Ответы [ 2 ]

0 голосов
/ 11 марта 2011

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

0 голосов
/ 11 марта 2011

Вам нужно будет предоставить больше кода, но похоже, что вы перерисовываете все флажки при изменении выбранного значения в раскрывающихся списках.Если это так, то вновь созданные флажки не сохранят «чек», который вы ранее присвоили.Что вам может понадобиться сделать, это когда вы отправляете данные обратно, записываете текущее состояние формы.Запишите, какие значения выбраны, чтобы при необходимости перерисовать форму вы могли применить эти изменения.

...