ASP.NET PreInit イベントで制御を取得するには? ポインターは null で、FindControl メソッドは null を返します。
マスター ページとコンテンツ ページを使用しています。コンテンツ ページのマークアップは次のようになります。
<asp:Content ID="Content2" ContentPlaceHolderID="ContentBody" runat="server">
<asp:Table ID="Table1" runat="server" Width="100%">
.....
</asp:Table>
</asp:Content>
そして、次のようなコード:
private void Page_PreInit(object sender, EventArgs e)
{
Control table = this.FindControl("Table1");
//table is null here
}
したがって、テーブルは this.FindControl("Table1") の後も null です。ページの NamingContainer も null です。私は何を間違っていますか?
更新コントロールを作成するには、このイベントを使用する必要があります。ASP.NET ページ ライフ サイクルの概要で述べたように、このイベントは動的なコントロールの作成に使用する必要があります。テーブルにリンクのリストを作成する必要があります。それを行う別の方法があるかもしれませんか?