Я создаю несколько элементов управления CheckboxList в моем коде (в Page_Load), которые помещаются в UpdatePanel. UpdatePanel настроен для UpdateMode = "always", поэтому, если я правильно понял, каждый Postback из этой UpdatePanel должен запускать Postback для всей Updatepanel (это то, что я хочу).Созданный код-код checkboxlist wont fire OnSelectedIndexChanged в UpdatePanel
Упрощенная ASPX-разметка:
<asp:UpdatePanel ID="updatepanel_profiles_manualdata" runat="server">
<ContentTemplate>
<div id="cbl_container" runat="server">
</div>
</ContentTemplate>
</asp:UpdatePanel>
Упрощенный код-за:
protected void create_cbl(){
// this is called in Page_Load
CheckBoxList mycbl = new CheckBoxList();
mycbl.SelectedIndexChanged += new EventHandler(cbl_manual_clickEvent);
DataTable dt3 = get_cbl_data(someparameter);
mycbl.DataSource = dt3;
mycbl.DataTextField = "Title";
mycbl.DataValueField = "ID";
mycbl.AutoPostBack = true;
mycbl.DataBind();
//add the checkboxlist to the container-div in the aspx-markup
cbl_container.Controls.Add(mycbl);
}
protected void cbl_manual_clickEvent(object sender, EventArgs e){
// do something with this click...
}
Схватки:
- Я попытался установить контрольную точку в моей cbl_manual_clickEvent - это никогда , но страница компилируется без ошибок.
- У меня есть еще один CheckBoxList в той же UpdatePanel, инициализированный в разметке, и поэтому событие OnSelectedIndex связано с разметкой. Опоздание здесь прекрасно. Однако мне нужно создать второй CheckBoxList из кода, поскольку сумма зависит от некоторых данных в базе данных.
- Я попробовал установить ChildrenAsTriggers = "true" в UpdatePanel, а также изменить UpdateMode и определить триггеры, без везения.
Что мне не хватает? Заранее благодарим за все намеки или предложения ...!
пост, как вы назвали эту функцию в Page_Load –
попытаться вызвать эту функцию при условии! IsPostBack –
Да, я звоню эту функцию в первый раз в! Page.IsPostBack, кроме некоторых других элементов управления, которые там создаются. –