首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> .NET 網頁程式設計 >> ASP.NET 基礎 >> 關於ASP.NET

ASP.NET 自訂控件(四):可摺疊面板控件——繼承 Panel、INamingContainer 確保子控件 ID 隔離

     編輯:關於ASP.NET

功能:標題列含摺疊/展開按鈕、內容容器可放任意控件、伺服端事件 PanelToggled 通知狀態變更。

基類選擇:Panel

  • 天然容器,支援設計時拖放子控件。
  • 直接繼承 Panel,依屬性決定是否渲染標題列與按鈕。

ID 隔離問題

若不處理,兩個面板內同名 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>
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved