C# 创建的复选框列表背后的代码不会在UpdatePanel中的SelectedIndex更改时触发
我在代码隐藏中(在页面加载中)创建了许多复选框列表控件,这些控件被放入UpdatePanel中。UpdatePanel是为UpdateMode=“always”设置的,因此如果我理解正确,则此UpdatePanel中的每次回发都应该触发对整个UpdatePanel的回发(这是我想要的) 简化的aspx标记:C# 创建的复选框列表背后的代码不会在UpdatePanel中的SelectedIndex更改时触发,c#,asp.net,ajax,updatepanel,C#,Asp.net,Ajax,Updatepanel,我在代码隐藏中(在页面加载中)创建了许多复选框列表控件,这些控件被放入UpdatePanel中。UpdatePanel是为UpdateMode=“always”设置的,因此如果我理解正确,则此UpdatePanel中的每次回发都应该触发对整个UpdatePanel的回发(这是我想要的) 简化的aspx标记: <asp:UpdatePanel ID="updatepanel_profiles_manualdata" runat="server"> <ContentTemplate
<asp:UpdatePanel ID="updatepanel_profiles_manualdata" runat="server">
<ContentTemplate>
<div id="cbl_container" runat="server">
</div>
</ContentTemplate>
</asp:UpdatePanel>
挣扎:
我错过了什么?提前感谢所有提示或建议 您是否尝试过检查框列表的
AutoPostBack=true
?您是否尝试过检查框列表的AutoPostBack=true
aspx文件:
<asp:UpdatePanel ID="updatepanel_profiles_manualdata" runat="server">
<ContentTemplate>
<div id="cbl_container" runat="server">
<asp:CheckBoxList ID="CheckBoxList1" AutoPostBack="true" runat="server"></asp:CheckBoxList>
</div>
</ContentTemplate>
</asp:UpdatePanel>
#更新1
试试这个
aspx文件:
<asp:UpdatePanel ID="updatepanel_profiles_manualdata" runat="server">
<ContentTemplate>
<div id="cbl_container" runat="server">
<asp:CheckBoxList ID="CheckBoxList1" AutoPostBack="true" runat="server"></asp:CheckBoxList>
</div>
</ContentTemplate>
</asp:UpdatePanel>
#更新1
post您是如何在第页调用此函数的?请尝试在这种情况下调用此函数!是的,我第一次调用这个函数!除了在那里创建的一些其他控件之外,Page.IsPostBack也可以。请尝试将事件处理程序分配到条件之外!Page.IsPostBackMy控件仅在第一次执行页面时调用的函数中创建(因此在!Page.IsPostBack中)。您建议在该函数之后,我尝试查找那些已创建的控件,并将OnSelectedIndexChanged事件分配给它们?(只是想让你做对!)在第页发布你是如何调用这个函数的?试着在这种情况下调用这个函数!是的,我第一次调用这个函数!除了在那里创建的一些其他控件之外,Page.IsPostBack也可以。请尝试将事件处理程序分配到条件之外!Page.IsPostBackMy控件仅在第一次执行页面时调用的函数中创建(因此在!Page.IsPostBack中)。您建议在该函数之后,我尝试查找那些已创建的控件,并将OnSelectedIndexChanged事件分配给它们?(只是想让你做对!)是的,正如后面的代码所示。。mycbl.AutoPostBack=true;它有点像一个回发,但它不会触发它应该触发的事件。它明确定义了AutoPopBuffe=真,这不是一个答案,你应该认为它是一个评论。mycbl.AutoPostBack=true;它有点像一个回发,但它不会触发它应该触发的事件。它清楚地定义了AutoPopBuffe=真的,这不是一个答案,你应该认为它是一个评论StaskFooad不允许我评论(我已经对此评论了,是不是被删除了?但是……)这对我来说是行不通的。我没有办法在代码隐藏中创建复选框列表控件。在标记中构建一个复选框列表并将其连接起来不是问题。为UpdatePanel动态创建它们,然后将它们与它们的事件关联起来,这对我没有什么帮助。做了一个变通办法,但感谢你的努力@Feras。(我已经对此发表了评论,这个被删除了吗?但是…)这对我不起作用。我没有办法在代码隐藏中创建复选框列表控件。在标记中构建一个复选框列表并将其连接起来不是问题。为UpdatePanel动态创建它们,然后将它们与它们的事件关联起来,这对我没有什么帮助。做了一个变通办法,但谢谢你的努力@Feras。
protected void Page_Load(object sender, EventArgs e)
{
CheckBoxList1.SelectedIndexChanged += new EventHandler(cbl_manual_clickEvent);
DataTable dt3 = get_cbl_data(someparameter);
CheckBoxList1.DataSource = dt3;
CheckBoxList1.DataTextField = "Title";
CheckBoxList1.DataValueField = "ID";
CheckBoxList1.AutoPostBack = true;
CheckBoxList1.DataBind();
}