我的用戶控件有問題。在裏面,我有一個複選框控件。我想立即創建該用戶控件並將其插入到asp:table控件中。ASP.NET用戶控件 - 空引用?
MyControl pp = new MyControl();
pp.pageNameCb.Text = "lorem";
TableCell tc = new TableCell();
tc.Controls.Add(pp);
table.Rows[0].Cells.Add(tc);
但是,該pageNameCb
爲空,即使我手動創建它的實例,沒有顯示在我的表。爲什麼?
這裏是我的代碼:
<asp:View ID="new_role_view" runat="server">
<asp:Table ID="table1" runat="server">
<asp:TableRow ID="TableRow1" runat="server">
<asp:TableCell ID="TableCell1" runat="server">
</asp:TableCell>
</asp:TableRow>
</asp:Table>
</asp:View>
然後,如果我改變看法是積極的,我創建了我的控制:
MyControl pp = new MyControl();
table.Rows[0].Cells[0].Controls.Add(pp);
的MyControl的Page_Init:
protected void Page_Init(object sender, EventArgs e)
{
if (pageNameCb == null)
pageNameCb = new CheckBox();
pageNameCb.Text = "works";
}
,仍然,什麼也沒有顯示
你執行這個代碼?嘗試在創建後設置pp的ID。 –
您是否遇到異常? – atoMerz
檢查生成的HTML並查看錶格中是否真的添加了複選框 – Rahul