我有一个表格,其中一些checkboxes
嵌套在转发器内,该转发器位于tabcontainer
中,位于另一个repeater
中。
<asp:Repeater ID="rptProjectList" OnItemDataBound="rptProjects_ItemDataBound" runat="server">
<ItemTemplate>
<ajaxToolkit:TabContainer ID="projTabContainer" runat="server" CssClass="ajax__tab_red-theme">
<ajaxToolkit:TabPanel ID="tasksTab" runat="server" HeaderText="Tasks">
<ContentTemplate>
<asp:Repeater ID="rptOutstandingProjectTasks" runat="server">
<ItemTemplate>
<asp:CheckBox ID='cbComplete' OnCheckedChanged="cbComplete_CheckedChanged" ClientIDMode="Static" AutoPostBack="true" Checked='false' runat='server' />
</ItemTemplate>
</asp:Repeater>
</ContentTemplate>
</ajaxToolkit:TabPanel>
</ajaxToolkit:TabContainer>
</ItemTemplate>
</asp:Repeater>
使用非常简单的onCheckedChanged事件(用于测试):
protected void cbComplete_CheckedChanged(object sender, EventArgs e)
{
Response.Redirect(Request.RawUrl.Split('?')[0] + "?project=" + projCode.Value);
}
出于某种原因,OnCheckedChanged
的{{1}}事件在嵌套时不会触发。 (由于checkbox
,它似乎只是刷新了页面。)如果我将postback
拉出checkbox
并将其放在页面的主体中,它就会很好。