0

この質問は、ユーザー コントロールからページ コントロールにアクセスする方法に関連しているようです。、しかし、それが重複しているとは思いません。

Pageイベント中に変数にアクセスする必要がある多くのユーザー コントロールがありRenderます。コントロールを .aspx ページにドロップすると、これは正常に機能します。ただし、次のようにコントロールをネストしようとすると:

Protected Overrides Sub Render(ByVal writer As HtmlTextWriter)
    Dim nestedControl = New CustomControl()

    helpIcon.RenderControl(writer)

    MyBase.Render(writer)
End Sub

(ネストされているコントロール)のイベントVariable cannot be null: Pageから例外が発生します。RenderCustomControl

別のコントロールのコード ビハインドで構築されたコントロールがページ コンテキストにアクセスできるように、これを修正する簡単な方法はありますか?

4

2 に答える 2

1

コントロールのページ プロパティが null になっているのを見たのは、コントロールがコントロール コレクションに追加されていないときだけです。

Me.Controls.Add(helpIcon) //This must happen before calling render

コントロールがルート コントロール コレクションに追加されている場合は、render メソッドを呼び出す必要はありません。

于 2012-11-20T19:52:11.423 に答える