我正在尝试填充更新面板中的asp.net 4.0中的复选框列表,我的代码是
<div>
<asp:ToolkitScriptManager ID="ToolkitScriptManager1" runat="server">
</asp:ToolkitScriptManager>
<asp:UpdatePanel ID="updatepanel1" runat="server">
<ContentTemplate>
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
<asp:PopupControlExtender ID="TextBox1_PopupControlExtender" runat="server" DynamicServicePath=""
Enabled="True" ExtenderControlID="" TargetControlID="TextBox1" PopupControlID="Panel1"
OffsetY="22">
</asp:PopupControlExtender>
<asp:Panel ID="Panel1" runat="server" Height="116px" Width="145px" BorderStyle="Solid"
BorderWidth="2px" Direction="LeftToRight" ScrollBars="Auto" BackColor="#CCCCCC"
Style="display: none">
<asp:CheckBoxList ID="CheckBoxList1" runat="server"
DataTextField="holiday_name" DataValueField="holiday_name" AutoPostBack="True"
OnSelectedIndexChanged="CheckBoxList1_SelectedIndexChanged">
</asp:CheckBoxList>
</asp:Panel>
</ContentTemplate>
</asp:UpdatePanel>
</div>
我的代码背后是,
CheckBoxList CheckBoxList1 = (CheckBoxList)Page.FindControl("CheckBoxList1");
CheckBoxList1.DataSource = Dcon.Tables[0];
CheckBoxList1.DataBind();
Dcon是数据集,其值为
holiday_name
mon
tue
wed
thur
我这里没有提到checkboxlist1_selectedindex更改事件,因为在加载时它给出错误,而填充复选框列表错误是,
nullreferenceexception was unhandled by user code
在线,
CheckBoxList1.DataSource = Dcon.Tables[0];
我不知道数据集有数据时为什么会出错?我最初找到控制复选框列表,因为它在ajax更新面板中,而不是直接找到此控件
希望提前感谢您的建议。
答案 0 :(得分:0)
如果是母版页的内容页面 然后先.. 找到主页ContentPlaceHolder而不是找到你的控件
ContentPlaceHolder mycont = (ContentPlaceHolder)Master.FindControl("ContentPlaceHolder1");
CheckBoxList CheckBoxList1 = (CheckBoxList)mycont.FindControl("CheckBoxList1");
CheckBoxList1.DataSource = Dcon.Tables[0];
CheckBoxList1.DataBind();