使用者控制元件介紹

使用者控制元件是為了跨 ASP.NET 頁面的可重用性,類似於母版頁。使用者控制元件不是共享基頁面佈局,而是共享 HTML / ASP.NET 內建伺服器控制元件組或特定表單佈局,例如評論提交或客戶註釋。

使用者控制元件可以包含 HTML 控制元件和 ASP.NET 伺服器控制元件,包括客戶端指令碼。

使用者控制元件通常在其定義之上包含 Control 指令:

<%@ Control Language="C#" AutoEventWireup="True" CodeFile="UserControl.ascx.cs" %>

與 ASPX 頁面一樣,使用者控制元件由標記組成,這些標記可以與檔案後面的程式碼相關聯以執行某些事件和任務,因此 ASPX 頁面上可用的所有 HTML 標籤都可以用於除 <html><body><form> 標籤之外的使用者控制元件。

以下是簡單使用者控制元件標記的示例:

<%-- UserControl.ascx --%>
<%@ Control Language="C#" AutoEventWireup="True" CodeFile="UserControl.ascx.cs" %>
<div>
    <asp:Label ID="Label1" runat="server" />
    <br />
    <asp:Button ID="Button1" runat="server" Text="Click Here" OnClick="Button1_Click" />
</div>

程式碼隱藏示例:

// UserControl.ascx.cs
public partial class UserControl : System.Web.UI.UserControl
{
    protected void Button1_Click(Object sender, EventArgs e)
    {
        Label1.Text = "Hello World!";
    }
}

在使用者控制元件插入 ASPX 頁面之前,Register 指令應在引用使用者控制元件的頁面頂部宣告,其源 URL,標記名稱和標記字首。

<%@ Register Src="UserControl.ascx" TagName="UserControl" TagPrefix="uc" %>

之後,你可以將使用者控制元件放在 ASPX 頁面中,如 ASP.NET 內建伺服器控制元件:

<uc:UserControl ID="UserControl1" runat="server" />