EmptyControlCollection(Control) Konstruktor
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Inicializuje novou instanci EmptyControlCollection třídy.
public:
EmptyControlCollection(System::Web::UI::Control ^ owner);
public EmptyControlCollection (System.Web.UI.Control owner);
new System.Web.UI.EmptyControlCollection : System.Web.UI.Control -> System.Web.UI.EmptyControlCollection
Public Sub New (owner As Control)
Parametry
- owner
- Control
Objekt Control , který vlastní tuto kolekci jako svou kolekci podřízených ovládacích prvků.
Příklady
Následující příklad kódu se pokusí naplnit ovládací prvek podřízenými ovládacími prvky, což způsobí výjimku. Důvodem je to, že ovládací prvek kontejneru nepovoluje podřízené ovládací prvky. Následuje příkazový řádek použitý k sestavení spustitelného souboru.
vbc /r:System.dll /r:System.Web.dll /t:library
/out:myWebAppPath/bin/vb_myEmptyControlCollection.dll
myEmptyControlCollection.vb
csc /t:library /out:myWebAppPath/bin/cs_myEmptyControlCollection.dll
myEmptyControlCollection.cs
/* File name: emptyControlCollection.cs. */
using System;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Collections;
namespace CustomControls
{
// Defines a simple custom control.
public class MyCS_EmptyControl : Control
{
[System.Security.Permissions.PermissionSet(System.Security.Permissions.SecurityAction.Demand, Name="FullTrust")]
protected override ControlCollection CreateControlCollection()
/*
* Function Name: CreateControlCollection.
* Denies the creation of any child control by creating an empty collection.
* Generates an exception if an attempt to create a child control is made.
*/
{
return new EmptyControlCollection(this);
}
[System.Security.Permissions.PermissionSet(System.Security.Permissions.SecurityAction.Demand, Name="FullTrust")]
protected override void CreateChildControls()
/*
* Function Name: CreateChildControls.
* Populates the child control collection (Controls).
* Note: This function will cause an exception because the control does not allow
* child controls.
*/
{
// Create a literal control to contain the header and add it to the collection.
LiteralControl text;
text = new LiteralControl("<h5>Composite Controls</h5>");
Controls.Add(text);
}
}
}
' File name: emptyControlCollection.vb.
Imports System.Web
Imports System.Web.UI
Imports System.Web.UI.WebControls
Imports System.Collections
Namespace CustomControls
Public Class MyVB_EmptyControl
Inherits Control
<System.Security.Permissions.PermissionSetAttribute(System.Security.Permissions.SecurityAction.Demand, Name:="FullTrust")> _
Protected Overrides Function CreateControlCollection() As ControlCollection
' Function Name: CreateControlCollection.
' Denies the creation of any child control by creating an empty collection.
' Generates an exception if an attempt to create a child control is made.
Return New EmptyControlCollection(Me)
End Function
<System.Security.Permissions.PermissionSetAttribute(System.Security.Permissions.SecurityAction.Demand, Name:="FullTrust")> _
Protected Overrides Sub CreateChildControls()
' Sub Name: CreateChildControls.
' Populates the child control collection (Controls).
' Note: This function will cause an exception because the control does not allow
' child controls.
Dim text As LiteralControl
text = New LiteralControl("<h5>Composite Controls</h5>")
Controls.Add(text)
End Sub
End Class
End Namespace
Následující příklad kódu používá prázdný vlastní ovládací prvek definovaný výše. Při spuštění tohoto příkladu dojde k výjimce. Všimněte si, že hodnoty zobrazené v direktivě Register
odpovídají předchozímu příkazovému řádku.
<%@ Register TagPrefix="custom" Assembly="vb_myEmptyControlCollection" Namespace="CustomControls" %>
<html>
<body>
<h1>Using an Empty Control</h1>
<custom:MyVB_EmptyControl id="vbEmptyControlId" runat="server"/>
</body>
</html>
<%@ Register TagPrefix="custom" Assembly="cs_myEmptyControlCollection" Namespace="CustomControls" %>
<html>
<body>
<h1>Using an Empty Control </h1>
<custom:MyCS_EmptyControl id="csEmptyControlId" runat="server"/>
</body>
</html>