功能:標題列含摺疊/展開按鈕、內容容器可放任意控件、伺服端事件 PanelToggled 通知狀態變更。
Panel,依屬性決定是否渲染標題列與按鈕。若不處理,兩個面板內同名 txt 文字框會產生重複 id="txt"。解決:實作 INamingContainer,ASP.NET 自動加前綴 cc1$txt / cc2$txt,ClientID 變 cc1_txt / cc2_txt。
// 實作前
<span id="cc1"><input id="txt" /></span>
<span id="cc2"><input id="txt" /></span>
// 實作後
<span id="cc1"><input name="cc1$txt" id="cc1_txt" /></span>
<span id="cc2"><input name="cc2$txt" id="cc2_txt" /></span>