使用者控制元件介紹
使用者控制元件是為了跨 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" />