2014-03-14 42 views
0

我試圖填補更新面板我的代碼裏面在asp.net 4.0複選框列表,雖然填充Checkboxlist得到錯誤nullreferenceexception未被用戶代碼處理? Asp.net

<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

如果是母版頁 的內容頁,然後第一個.. 找到母版頁的ContentPlaceHolder比找到自己的控制

ContentPlaceHolder mycont = (ContentPlaceHolder)Master.FindControl("ContentPlaceHolder1"); 
    CheckBoxList CheckBoxList1 = (CheckBoxList)mycont.FindControl("CheckBoxList1"); 
    CheckBoxList1.DataSource = Dcon.Tables[0]; 
    CheckBoxList1.DataBind(); 
+0

你現在其工作,謝謝。 – user3418710

相關問題