EmptyControlCollection(Control) Konstruktor
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
Menginisialisasi instans baru dari kelas EmptyControlCollection.
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)
Parameter
Contoh
Contoh kode berikut mencoba mengisi kontrol dengan kontrol turunan, menyebabkan pengecualian. Ini karena kontrol kontainer tidak mengizinkan kontrol turunan. Berikut ini adalah baris perintah yang digunakan untuk membangun executable.
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
Contoh kode berikut menggunakan kontrol kustom kosong yang ditentukan di atas. Saat menjalankan contoh ini, Anda akan mendapatkan pengecualian. Perhatikan bahwa nilai yang ditampilkan dalam direktif Register mencerminkan baris perintah sebelumnya.
<%@ 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>