UserControl-Klasse
Stellt eine ASCX-Datei dar, die auch als Benutzersteuerelement bezeichnet wird und die von einem Server angefordert wurde, der Host einer ASP.NET-Webanwendung ist. Die Datei muss von einer Web Forms-Seite aufgerufen werden, da andernfalls ein Parserfehler auftritt.
Namespace: System.Web.UI
Assembly: System.Web (in system.web.dll)
Syntax
'Declaration
Public Class UserControl
Inherits TemplateControl
Implements IAttributeAccessor, INamingContainer, IUserControlDesignerAccessor
'Usage
Dim instance As UserControl
public class UserControl : TemplateControl, IAttributeAccessor, INamingContainer, IUserControlDesignerAccessor
public ref class UserControl : public TemplateControl, IAttributeAccessor, INamingContainer, IUserControlDesignerAccessor
public class UserControl extends TemplateControl implements IAttributeAccessor, INamingContainer,
IUserControlDesignerAccessor
public class UserControl extends TemplateControl implements IAttributeAccessor, INamingContainer,
IUserControlDesignerAccessor
Hinweise
Die UserControl-Klasse wird Dateien mit der Erweiterung .ascx zugeordnet. Diese Dateien werden zur Laufzeit als UserControl-Objekte kompiliert und im Arbeitsspeicher des Servers zwischengespeichert.
Sie können Benutzersteuerelemente schachteln, indem Sie eine ASCX-Datei in einer anderen deklarieren und letztere in einer Web Forms-Seite einschließen.
In ASP.NET-Web Forms-Seiten sind Benutzersteuerelemente enthalten. Mit diesen können Webentwickler auf einfache Weise häufig verwendete Webbenutzeroberflächen aufzeichnen. Sie werden auf ähnliche Weise wie Page-Objekte instanziiert und zwischengespeichert. Im Gegensatz zu Seiten lassen sich Benutzersteuerelemente jedoch nicht unabhängig aufrufen. Sie können nur von einer Seite oder einem anderen Benutzersteuerelement aus aufgerufen werden, wenn sie in diesen enthalten sind.
Leiten Sie diese Klasse ab, wenn Sie ein Benutzersteuerelement mithilfe der CodeBehind-Technik erstellen möchten. Dies empfiehlt sich, wenn Sie mithilfe dieser Technik Web Forms-Seiten entwickeln.
Informationen zum deklarativen Erstellen von Benutzersteuerelementen finden Sie unter ASP.NET-Benutzersteuerelemente.
Beispiel
Die im folgenden Beispiel definierte Klasse SimpleControl
erbt die UserControl-Klasse und kann als ASP.NET-CodeBehind-Klasse verwendet werden. Sie verwendet das TextBox-Webserver-Steuerelement, dasLabel-Webserver-Steuerelement und das Button-Webserver-Steuerelement und definiert eine myButton_Click
-Methode, die der Label.Text-Eigenschaft den TextBox.Text-Eigenschaftenwert gemeinsam mit zwei Zeichenfolgen zuweist.
Imports System
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
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 + ".";
}
}
import System.*;
import System.Web.UI.*;
import System.Web.UI.WebControls.*;
public class SimpleControl extends UserControl
{
public TextBox name;
public Label output;
public Button myButton;
public void myButton_Click(Object sender, EventArgs e)
{
output.set_Text("Hello, " + name.get_Text() + ".");
} //myButton_Click
} //SimpleControl
Beim folgenden Beispiel handelt es sich um Markup, das in einer ASCX-Datei enthalten ist. Sie können die im vorigen Beispiel definierte SimpleControl
-Klasse als CodeBehind-Klasse für das Markup in dieser ASCX-Datei verwenden.
<%@ 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>
<tr>
<td><b>Enter your name here: </b></td>
<td><ASP:TextBox id="name" runat="server"/></td>
</tr>
<tr>
<td><b><ASP:Label id="output" runat="server"/></b></td>
</tr>
<tr>
<td></td>
<td><asp:button text="Submit" OnClick="myButton_Click" runat="server" /></td>
</tr>
</table>
<%@ 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>
<tr>
<td><b>Enter your name here: </b></td>
<td><ASP:TextBox id="name" runat="server"/></td>
</tr>
<tr>
<td><b><ASP:Label id="output" runat="server"/></b></td>
</tr>
<tr>
<td></td>
<td><asp:button id="myButton" text="Submit" OnClick="myButton_Click" runat="server" /></td>
</tr>
</table>
<%@ control inherits = "SimpleControl" src = "SimpleControl.jsl" %>
<table style="background-color:yellow;font: 10pt verdana;border-width:1;border-style:solid;border-color:black;" cellspacing=15>
<tr>
<td><b>Enter your name here: </b></td>
<td><ASP:TextBox id="name" runat="server"/></td>
</tr>
<tr>
<td><b><ASP:Label id="output" runat="server"/></b></td>
</tr>
<tr>
<td></td>
<td><asp:button id="myButton" text="Submit" OnClick="myButton_Click" runat="server" /></td>
</tr>
</table>
.NET Framework-Sicherheit
- AspNetHostingPermission für den Betrieb in einer Hostumgebung. Anforderungswert: LinkDemand, Berechtigungswert: Minimal
- AspNetHostingPermission für den Betrieb in einer Hostumgebung. Anforderungswert: InheritanceDemand, Berechtigungswert: Minimal
Vererbungshierarchie
System.Object
System.Web.UI.Control
System.Web.UI.TemplateControl
System.Web.UI.UserControl
System.Web.UI.MasterPage
System.Web.UI.MobileControls.MobileUserControl
Threadsicherheit
Alle öffentlichen statischen (Shared in Visual Basic) Member dieses Typs sind threadsicher. Bei Instanzmembern ist die Threadsicherheit nicht gewährleistet.
Plattformen
Windows 98, Windows 2000 SP4, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen.
Versionsinformationen
.NET Framework
Unterstützt in: 2.0, 1.1, 1.0
Siehe auch
Referenz
UserControl-Member
System.Web.UI-Namespace
TemplateControl-Klasse
IAttributeAccessor-Schnittstelle
Page-Klasse