public ref class UserControl : System::Web::UI::TemplateControl, System::Web::UI::IAttributeAccessor, System::Web::UI::IUserControlDesignerAccessor
public class UserControl : System.Web.UI.TemplateControl, System.Web.UI.IAttributeAccessor, System.Web.UI.IUserControlDesignerAccessor
type UserControl = class
inherit TemplateControl
interface IAttributeAccessor
interface IUserControlDesignerAccessor
type UserControl = class
inherit TemplateControl
interface IAttributeAccessor
interface INamingContainer
interface IUserControlDesignerAccessor
Public Class UserControl
Inherits TemplateControl
Implements IAttributeAccessor, IUserControlDesignerAccessor
UserControl
在下列範例
SimpleControl
中定義的 類別會繼承 類別,
UserControl
並可用來作為程式碼後置類別 ASP.NET。 它會使用
TextBox
、
Label
和
Button
Web 服務器控制項,並定義方法,將屬性值以及兩個
myButton_Click
字串指派
TextBox.Text
給
Label.Text
屬性。
這個範例有一個可接受使用者輸入的文字方塊,這可能會造成安全性威脅。 根據預設,ASP.NET Web 網頁會驗證使用者輸入未包含指令碼或 HTML 項目。 如需詳細資訊,請參閱
Script Exploits Overview
(指令碼攻擊概觀)。
using System;
using System.Web.UI;
using System.Web.UI.WebControls;
public class SimpleControl:UserControl
public TextBox name;
public Label output;
public Button myButton;
public void myButton_Click(object sender, EventArgs e)
output.Text = "Hello, " + name.Text + ".";
Imports System.Web.UI
Imports System.Web.UI.WebControls
Public Class SimpleControl
Inherits UserControl
Public name As TextBox
Public output As Label
Public myButton As Button
Public Sub myButton_Click(sender As Object, e As EventArgs)
output.Text = "Hello, " + name.Text + "."
End Sub
End Class
下列範例是 .ascx 檔案中包含的標記。 您可以使用 SimpleControl
上一個範例中定義的 類別,作為這個 .ascx 檔案中標記的程式碼後置類別。
<%@ control inherits = "SimpleControl" src = "SimpleControl.cs" %>
<table style="background-color:yellow;font: 10pt verdana;border-width:1;border-style:solid;border-color:black;" cellspacing="15">
<td><b>Enter your name here: </b></td>
<td><ASP:TextBox id="name" runat="server"/></td>
<td><b><ASP:Label id="output" runat="server"/></b></td>
<td></td>
<td><asp:button id="myButton" text="Submit" OnClick="myButton_Click" runat="server" /></td>
</table>
<%@ control inherits = "SimpleControl" src = "SimpleControl.vb" %>
<table style="background-color: yellow; font: 10pt verdana;border-width:1;border-style:solid;border-color:black;" cellspacing="15">
<td><b>Enter your name here: </b></td>
<td><ASP:TextBox id="name" runat="server"/></td>
<td><b><ASP:Label id="output" runat="server"/></b></td>
<td></td>
<td><asp:button text="Submit" OnClick="myButton_Click" runat="server" /></td>
</table>
類別 UserControl 與副檔名為 .ascx 的檔案相關聯。 這些檔案會在執行時間編譯為 UserControl 物件,並在伺服器記憶體中快取。
您可以在另一個 .ascx 檔案中宣告一個 .ascx 檔案,以巢狀化使用者控制項,包括Web Form頁面中的後者。
使用者控制項包含在 ASP.NET Web Forms頁面中,並提供 Web 開發人員輕鬆擷取常用 Web UI 的方式。 它們會以類似 Page 物件的方式具現化和快取。 不過,與頁面不同,使用者控制項無法獨立呼叫。 他們只能從頁面或其他包含它們的使用者控制項呼叫。
如果您想要使用程式碼後置技術建立使用者控制項,請衍生自這個類別。 如果您使用這項技術來開發Web Form頁面,建議您這麼做。
如需以宣告方式建立使用者控制項的資訊,請參閱 ASP.NET 使用者控制項。
將資源字串寫入 HtmlTextWriter 控制項。 WriteUTF8ResourceString(HtmlTextWriter, Int32, Int32, Boolean) 方法由產生的類別使用,並不適合從您的程式碼使用。
(繼承來源 TemplateControl)