指定された状態に基づいてページ上にHTMLをレンダリングするコンポジットコントロールを構築しています。コンポジットコントロール内のパネルは可視性を無視します
コントロールを設定してコンポジットの場合はControlCollection
に追加し、設定中にコントロールの表示をfalse
に設定すると、正常に動作しているように見えますが、ページのポストバックが原因でパネルが非表示になる表示されるパネル。
しかし、私はRender
方法でRenderBeginTag(writer)
とRenderEndTag(writer)
を包むとき、それは初期化時に「visible = false
」文を無視しているように見えますか?
// initialization
this._contentPanel = new Panel();
this._contentPanel.ID = "ContentPanel";
this._contentPanel.Visible = false;
this.Controls.Add(this._contentPanel);
// CreateChildControls
this.InitContentPanel(); // adds the content panel to control collection
// render
this._contentPanel.RenderBeginTag(writer);
writer.WriteLine("<div>Some copy here</div>");
this._contentPanel.RenderEndTag(writer);
これは基本的に、初期化中の視認性チェックに関係なくパネルを表示します。私はさまざまなシナリオをテストしましたが、何らかの理由でこれは単に状態を無視します。何か案は?
おかげで、
エリック