共用方式為


ASP.NET 伺服器控制項中的屬性

屬性類似欄位,但具有存取子方法。您應該公開控制項的屬性,而非公用欄位,因為屬性允許隱藏資料、進行版本控制,而且受視覺化設計工具 (例如 Visual Studio .NET) 的支援。存取子函式除了設定或擷取屬性以外,也可以執行其他的程式邏輯。如果您不熟悉屬性,請參閱屬性概觀

繼承自控制項的屬性

如需控制項繼承自 Control 類別的屬性的完整清單,請參閱 System.Web.UI.Control。下列清單說明一些經常存取的屬性。

  • Controls - 控制項子控制項的集合。
  • ID - 控制項的使用者提供的識別碼。
  • Page - 含有控制項的網頁。
  • Parent - 控制項,其 Controls 集合為某控制項所屬。(控制項 A 為控制項 B 的父控制項,如果 B 是 A.控制項的項目)。
  • ViewState - 被傳送至用戶端並送回的資料結構,通常用以跨數趟往返來保存表單資料。ViewState 的型別為 StateBag,它是儲存資料為名稱/值配對的字典。
  • EnableViewState - 指示控制項是否要跨數趟往返以維護其檢視狀態。如果父控制項不維護其檢視狀態,其子控制項的檢視狀態自動不維護。
  • UniqueID - 由 ASP.NET 網頁架構指派給控制項的階層式限定的唯一識別碼。
  • ClientID - 由 ASP.NET 網頁架構指派給控制項並在用戶端呈現為 HTML ID 屬性的唯一識別碼。ClientID 不同於 UniqueID,因為 UniqueID 可以包含冒號字元 (:),這在 HTML ID 屬性中不是有效的 (並且在用戶端指令碼的變數名稱中不被允許)。
  • Visible - 判斷控制項是否在網頁上為可見的。

繼承自 WebControl 的屬性

如果控制項衍生自 WebControl,它繼承與視覺顯示有關的其他屬性。如需繼承自 WebControl 屬性的完整清單,請參閱 System.Web.UI.WebControl。下列清單說明一些經常存取的 WebControl 的屬性。

  • Font - 控制項的字型。
  • ForeColor - 控制項的前景色彩。
  • BackColor - 控制項的背景色彩。
  • Height - 控制項的高度。
  • Width - 控制項的寬度。
  • Attributes - 當作屬性呈現到用戶端的名稱/值配對集合。Attributes 屬性包含宣告性設定的屬性的等位,這些屬性不對應至控制項的屬性 (或事件) 和那些利用程式設計方式來設定的屬性。

WebControl 也將數個其他的階層式樣式表 (CSS) 樣式公開為強型別屬性。

自訂繼承的屬性

控制項可以覆寫繼承的屬性來自訂屬性。若要覆寫屬性,您應該覆寫其存取子。下列範例示範衍生自 Button 的控制項,並覆寫 BackColor 屬性,因此背景色彩永遠為綠色。

using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Drawing;
namespace CustomControls
{
public class DerivedButton : Button
  {
   public DerivedButton() : base()
       {
          base.BackColor = Color.Green;
       }
   public override Color BackColor
   {
      get
         {
            return base.BackColor; 
          }
      set
         {
             // Do nothing.
         }
   }

  }
}
[Visual Basic]
Option Explicit
Option Strict

Imports System.Web
Imports System.Web.UI
Imports System.Web.UI.WebControls
Imports System.Drawing

Namespace CustomControls
   Public Class DerivedButton
      Inherits Button
      
      Public Sub New()
         MyBase.BackColor = Color.Green
      End Sub
      
      Public Overrides Property BackColor() As Color
         Get
            Return MyBase.BackColor
         End Get
         Set
            ' Do nothing.
         End Set
      End Property 
   End Class
End Namespace

您也可以藉著覆寫 (或提供) 屬性來變更屬性的中繼資料。下列程式片段示範如何透過將 BrowsableAttribute 變更為 false,在設計工具 (例如 Visual Studio .NET) 的屬性瀏覽器中隱藏 BackColor 屬性。

[Browsable(false)]
public override Color BackColor{...}
[Visual Basic]
<Browsable(False)> _
Public Overrides Property BackColor() As Color
   ...
End Property

請參閱

定義屬性 | 屬性型別 | 自訂屬性範例