DeclarativeCatalogPart Klass
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
Gör det möjligt för utvecklare att lägga till en katalog med WebPart eller andra serverkontroller på en webbsida i formatet deklarativ sidpersistence. Det går inte att ärva den här klassen.
public ref class DeclarativeCatalogPart sealed : System::Web::UI::WebControls::WebParts::CatalogPart
public sealed class DeclarativeCatalogPart : System.Web.UI.WebControls.WebParts.CatalogPart
type DeclarativeCatalogPart = class
inherit CatalogPart
Public NotInheritable Class DeclarativeCatalogPart
Inherits CatalogPart
- Arv
Exempel
Följande kodexempel visar hur du DeclarativeCatalogPart använder kontrollen deklarativt på en webbsida. Exemplet har fyra delar:
En användarkontroll som gör att du kan ändra visningslägen på en webbdelssida.
En webbsida som innehåller en CatalogZone kontroll och en DeclarativeCatalogPart kontroll.
En källkodsfil som innehåller två anpassade WebPart kontroller.
En förklaring av hur exemplet fungerar när du läser in sidan i en webbläsare.
Den första delen av det här kodexemplet är användarkontrollen som gör att du kan ändra visningslägen på sidan. Mer information om visningslägen och en beskrivning av källkoden i den här kontrollen finns i Genomgång: Ändra visningslägen på en webbsida.
<%@ control language="C#" classname="DisplayModeMenuCS"%>
<script runat="server">
// Use a field to reference the current WebPartManager.
WebPartManager _manager;
void Page_Init(object sender, EventArgs e)
{
Page.InitComplete += new EventHandler(InitComplete);
}
void InitComplete(object sender, System.EventArgs e)
{
_manager = WebPartManager.GetCurrentWebPartManager(Page);
String browseModeName = WebPartManager.BrowseDisplayMode.Name;
// Fill the dropdown with the names of supported display modes.
foreach (WebPartDisplayMode mode in _manager.SupportedDisplayModes)
{
String modeName = mode.Name;
// Make sure a mode is enabled before adding it.
if (mode.IsEnabled(_manager))
{
ListItem item = new ListItem(modeName, modeName);
DisplayModeDropdown.Items.Add(item);
}
}
// If shared scope is allowed for this user, display the scope-switching
// UI and select the appropriate radio button for the current user scope.
if (_manager.Personalization.CanEnterSharedScope)
{
Panel2.Visible = true;
if (_manager.Personalization.Scope == PersonalizationScope.User)
RadioButton1.Checked = true;
else
RadioButton2.Checked = true;
}
}
// Change the page to the selected display mode.
void DisplayModeDropdown_SelectedIndexChanged(object sender, EventArgs e)
{
String selectedMode = DisplayModeDropdown.SelectedValue;
WebPartDisplayMode mode = _manager.SupportedDisplayModes[selectedMode];
if (mode != null)
_manager.DisplayMode = mode;
}
// Set the selected item equal to the current display mode.
void Page_PreRender(object sender, EventArgs e)
{
ListItemCollection items = DisplayModeDropdown.Items;
int selectedIndex =
items.IndexOf(items.FindByText(_manager.DisplayMode.Name));
DisplayModeDropdown.SelectedIndex = selectedIndex;
}
// Reset all of a user's personalization data for the page.
protected void LinkButton1_Click(object sender, EventArgs e)
{
_manager.Personalization.ResetPersonalizationState();
}
// If not in User personalization scope, toggle into it.
protected void RadioButton1_CheckedChanged(object sender, EventArgs e)
{
if (_manager.Personalization.Scope == PersonalizationScope.Shared)
_manager.Personalization.ToggleScope();
}
// If not in Shared scope, and if user is allowed, toggle the scope.
protected void RadioButton2_CheckedChanged(object sender, EventArgs e)
{
if (_manager.Personalization.CanEnterSharedScope &&
_manager.Personalization.Scope == PersonalizationScope.User)
_manager.Personalization.ToggleScope();
}
</script>
<div>
<asp:Panel ID="Panel1" runat="server"
Borderwidth="1"
Width="230"
BackColor="lightgray"
Font-Names="Verdana, Arial, Sans Serif" >
<asp:Label ID="Label1" runat="server"
Text=" Display Mode"
Font-Bold="true"
Font-Size="8"
Width="120"
AssociatedControlID="DisplayModeDropdown"/>
<asp:DropDownList ID="DisplayModeDropdown" runat="server"
AutoPostBack="true"
Width="120"
OnSelectedIndexChanged="DisplayModeDropdown_SelectedIndexChanged" />
<asp:LinkButton ID="LinkButton1" runat="server"
Text="Reset User State"
ToolTip="Reset the current user's personalization data for the page."
Font-Size="8"
OnClick="LinkButton1_Click" />
<asp:Panel ID="Panel2" runat="server"
GroupingText="Personalization Scope"
Font-Bold="true"
Font-Size="8"
Visible="false" >
<asp:RadioButton ID="RadioButton1" runat="server"
Text="User"
AutoPostBack="true"
GroupName="Scope" OnCheckedChanged="RadioButton1_CheckedChanged" />
<asp:RadioButton ID="RadioButton2" runat="server"
Text="Shared"
AutoPostBack="true"
GroupName="Scope"
OnCheckedChanged="RadioButton2_CheckedChanged" />
</asp:Panel>
</asp:Panel>
</div>
<%@ control language="vb" classname="DisplayModeMenuVB"%>
<script runat="server">
' Use a field to reference the current WebPartManager.
Dim _manager As WebPartManager
Sub Page_Init(ByVal sender As Object, ByVal e As EventArgs)
AddHandler Page.InitComplete, AddressOf InitComplete
End Sub
Sub InitComplete(ByVal sender As Object, ByVal e As System.EventArgs)
_manager = WebPartManager.GetCurrentWebPartManager(Page)
Dim browseModeName As String = WebPartManager.BrowseDisplayMode.Name
' Fill the dropdown with the names of supported display modes.
Dim mode As WebPartDisplayMode
For Each mode In _manager.SupportedDisplayModes
Dim modeName As String = mode.Name
' Make sure a mode is enabled before adding it.
If mode.IsEnabled(_manager) Then
Dim item As New ListItem(modeName, modeName)
DisplayModeDropdown.Items.Add(item)
End If
Next mode
' If shared scope is allowed for this user, display the scope-switching
' UI and select the appropriate radio button for the current user scope.
If _manager.Personalization.CanEnterSharedScope Then
Panel2.Visible = True
If _manager.Personalization.Scope = PersonalizationScope.User Then
RadioButton1.Checked = True
Else
RadioButton2.Checked = True
End If
End If
End Sub
' Change the page to the selected display mode.
Sub DisplayModeDropdown_SelectedIndexChanged(ByVal sender As Object, _
ByVal e As EventArgs)
Dim selectedMode As String = DisplayModeDropdown.SelectedValue
Dim mode As WebPartDisplayMode = _
_manager.SupportedDisplayModes(selectedMode)
If Not (mode Is Nothing) Then
_manager.DisplayMode = mode
End If
End Sub
' Set the selected item equal to the current display mode.
Sub Page_PreRender(ByVal sender As Object, ByVal e As EventArgs)
Dim items As ListItemCollection = DisplayModeDropdown.Items
Dim selectedIndex As Integer = _
items.IndexOf(items.FindByText(_manager.DisplayMode.Name))
DisplayModeDropdown.SelectedIndex = selectedIndex
End Sub
' Reset all of a user's personalization data for the page.
Protected Sub LinkButton1_Click(ByVal sender As Object, _
ByVal e As EventArgs)
_manager.Personalization.ResetPersonalizationState()
End Sub
' If not in User personalization scope, toggle into it.
Protected Sub RadioButton1_CheckedChanged(ByVal sender As Object, _
ByVal e As EventArgs)
If _manager.Personalization.Scope = PersonalizationScope.Shared Then
_manager.Personalization.ToggleScope()
End If
End Sub
' If not in Shared scope, and if user is allowed, toggle the scope.
Protected Sub RadioButton2_CheckedChanged(ByVal sender As Object, _
ByVal e As EventArgs)
If _manager.Personalization.CanEnterSharedScope AndAlso _
_manager.Personalization.Scope = PersonalizationScope.User Then
_manager.Personalization.ToggleScope()
End If
End Sub
</script>
<div>
<asp:Panel ID="Panel1" runat="server"
Borderwidth="1"
Width="230"
BackColor="lightgray"
Font-Names="Verdana, Arial, Sans Serif" >
<asp:Label ID="Label1" runat="server"
Text=" Display Mode"
Font-Bold="true"
Font-Size="8"
Width="120"
AssociatedControlID="DisplayModeDropdown"/>
<asp:DropDownList ID="DisplayModeDropdown" runat="server"
AutoPostBack="true"
Width="120"
OnSelectedIndexChanged="DisplayModeDropdown_SelectedIndexChanged" />
<asp:LinkButton ID="LinkButton1" runat="server"
Text="Reset User State"
ToolTip="Reset the current user's personalization data for the page."
Font-Size="8"
OnClick="LinkButton1_Click" />
<asp:Panel ID="Panel2" runat="server"
GroupingText="Personalization Scope"
Font-Bold="true"
Font-Size="8"
Visible="false" >
<asp:RadioButton ID="RadioButton1" runat="server"
Text="User"
AutoPostBack="true"
GroupName="Scope" OnCheckedChanged="RadioButton1_CheckedChanged" />
<asp:RadioButton ID="RadioButton2" runat="server"
Text="Shared"
AutoPostBack="true"
GroupName="Scope"
OnCheckedChanged="RadioButton2_CheckedChanged" />
</asp:Panel>
</asp:Panel>
</div>
Den andra delen av kodexemplet är webbsidan. Överst på sidan finns två Register direktiv, ett för användarkontrollen och ett för den kompilerade komponenten som innehåller de två anpassade WebPart kontrollerna. Observera att sidan har en deklarativ referens till DeclarativeCatalogPart kontrollen, kapslad i rätt hierarki av deklarativa element enligt beskrivningen i avsnittet Anmärkningar i det här avsnittet. Elementet <asp:declarativecatalogpart> innehåller ett <webpartstemplate>-element som i sin tur innehåller referenser för en standard-ASP.NET Calendar-kontroll och de två anpassade kontrollerna WebPart. Det här är de kontroller som användarna kan välja från katalogen. Sidan innehåller också redigeringsfunktioner, med en PropertyGridEditorPart kontroll deklarerad på sidan. Den här kontrollen gör det möjligt för användare att redigera vissa egenskaper på de anpassade WebPart kontrollerna när de har lagts till på sidan och när användaren har bytt sida till redigeringsläge.
<%@ page language="c#" %>
<%@ register TagPrefix="uc1"
TagName="DisplayModeMenuCS"
Src="DisplayModeMenuCS.ascx" %>
<%@ register tagprefix="aspSample"
Namespace="Samples.AspNet.CS.Controls"
Assembly="UserInfoWebPartCS" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head id="Head1" runat="server">
<title>
DeclarativeCatalogPart Control
</title>
</head>
<body>
<form id="form1" runat="server">
<asp:webpartmanager id="WebPartManager1" runat="server" />
<uc1:DisplayModeMenuCS ID="DisplayModeMenu1" runat="server" />
<asp:webpartzone id="zone1" runat="server" >
<PartTitleStyle BorderWidth="1"
Font-Names="Verdana, Arial"
Font-Size="110%"
BackColor="LightBlue" />
<zonetemplate>
<asp:BulletedList ID="BulletedList1"
Runat="server"
DisplayMode="HyperLink"
Title="Favorites">
<asp:ListItem Value="http://msdn.microsoft.com">
MSDN
</asp:ListItem>
<asp:ListItem Value="http://www.asp.net">
ASP.NET
</asp:ListItem>
<asp:ListItem Value="http://www.msn.com">
MSN
</asp:ListItem>
</asp:BulletedList>
</zonetemplate>
</asp:webpartzone>
<asp:CatalogZone ID="CatalogZone1" runat="server">
<ZoneTemplate>
<asp:DeclarativeCatalogPart ID="DeclarativeCatalogPart1"
runat="server"
Title="Web Parts Catalog"
ChromeType="TitleOnly"
Description="Contains a user control with Web Parts and
an ASP.NET Calendar control.">
<WebPartsTemplate>
<asp:Calendar ID="Calendar1" runat="server"
Title="My Calendar"
Description="ASP.NET Calendar control used as a personal calendar." />
<aspSample:UserInfoWebPart
runat="server"
id="userinfo1"
title = "User Information WebPart"
Description ="Contains custom, editable user information
for display on a page." />
<aspSample:TextDisplayWebPart
runat="server"
id="TextDisplayWebPart1"
title = "Text Display WebPart"
Description="Contains a label that users can dynamically update." />
</WebPartsTemplate>
</asp:DeclarativeCatalogPart>
</ZoneTemplate>
</asp:CatalogZone>
<asp:EditorZone ID="EditorZone1" runat="server">
<ZoneTemplate>
<asp:PropertyGridEditorPart ID="PropertyGridEditorPart1" runat="server" />
</ZoneTemplate>
</asp:EditorZone>
</form>
</body>
</html>
<%@ page language="VB" %>
<%@ register TagPrefix="uc1"
TagName="DisplayModeMenuVB"
Src="DisplayModeMenuVB.ascx" %>
<%@ register tagprefix="aspSample"
Namespace="Samples.AspNet.VB.Controls"
Assembly="UserInfoWebPartVB" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>
DeclarativeCatalogPart Control
</title>
</head>
<body>
<form id="form1" runat="server">
<asp:webpartmanager id="WebPartManager1" runat="server" />
<uc1:DisplayModeMenuVB ID="DisplayModeMenu1" runat="server" />
<asp:webpartzone id="zone1" runat="server" >
<PartTitleStyle BorderWidth="1"
Font-Names="Verdana, Arial"
Font-Size="110%"
BackColor="LightBlue" />
<zonetemplate>
<asp:BulletedList ID="BulletedList1"
Runat="server"
DisplayMode="HyperLink"
Title="Favorites">
<asp:ListItem Value="http://msdn.microsoft.com">
MSDN
</asp:ListItem>
<asp:ListItem Value="http://www.asp.net">
ASP.NET
</asp:ListItem>
<asp:ListItem Value="http://www.msn.com">
MSN
</asp:ListItem>
</asp:BulletedList>
</zonetemplate>
</asp:webpartzone>
<asp:CatalogZone ID="CatalogZone1" runat="server">
<ZoneTemplate>
<asp:DeclarativeCatalogPart ID="DeclarativeCatalogPart1"
runat="server"
Title="Web Parts Catalog"
ChromeType="TitleOnly"
Description="Contains a user control with Web Parts and
an ASP.NET Calendar control.">
<WebPartsTemplate>
<asp:Calendar ID="Calendar1" runat="server"
Title="My Calendar"
Description="ASP.NET Calendar control used as a personal calendar." />
<aspSample:UserInfoWebPart
runat="server"
id="userinfo1"
title = "User Information WebPart"
Description ="Contains custom, editable user information
for display on a page." />
<aspSample:TextDisplayWebPart
runat="server"
id="TextDisplayWebPart1"
title = "Text Display WebPart"
Description="Contains a label that users can dynamically update." />
</WebPartsTemplate>
</asp:DeclarativeCatalogPart>
</ZoneTemplate>
</asp:CatalogZone>
<asp:EditorZone ID="EditorZone1" runat="server">
<ZoneTemplate>
<asp:PropertyGridEditorPart ID="PropertyGridEditorPart1" runat="server" />
</ZoneTemplate>
</asp:EditorZone>
</form>
</body>
</html>
Den tredje delen av kodexemplet är källkoden för de två WebPart kontrollerna. Observera att vissa egenskaper för dessa kontroller har markerats med attributet WebBrowsable . Detta gör det möjligt PropertyGridEditorPart för kontrollen att dynamiskt generera användargränssnittet (UI) för en användare att redigera dessa egenskaper när kontrollerna är i redigeringsläge. Egenskaperna markeras också med ett WebDisplayName attribut för att ange texten för etiketten som visas bredvid varje kontroll i redigeringsgränssnittet.
För att kodexemplet ska köras måste du kompilera den här källkoden. Du kan kompilera den explicit och placera den resulterande sammansättningen i webbplatsens bin-mapp eller den globala sammansättningscacheminnet. Du kan också placera källkoden i webbplatsens App_Code mapp, där den kompileras dynamiskt vid körning. En genomgång som visar båda kompileringsmetoderna finns i Genomgång: Utveckla och använda en anpassad webbserverkontroll.
using System;
using System.Collections;
using System.ComponentModel;
using System.Drawing;
using System.Security.Permissions;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
namespace Samples.AspNet.CS.Controls
{
[AspNetHostingPermission(SecurityAction.Demand,
Level = AspNetHostingPermissionLevel.Minimal)]
[AspNetHostingPermission(SecurityAction.InheritanceDemand,
Level = AspNetHostingPermissionLevel.Minimal)]
public class UserInfoWebPart : WebPart
{
HttpServerUtility server = HttpContext.Current.Server;
private String _userNickName = "Add a nickname.";
private String _userPetName = "Add a pet's name.";
private DateTime _userSpecialDate = DateTime.Now;
private Boolean _userIsCurrent = true;
private JobTypeName _userJobType = JobTypeName.Unselected;
public enum JobTypeName
{
Unselected = 0,
Support = 1,
Service = 2,
Professional = 3,
Technical = 4,
Manager = 5,
Executive = 6
}
Label NickNameLabel;
Label PetNameLabel;
Label SpecialDateLabel;
CheckBox IsCurrentCheckBox;
Label JobTypeLabel;
// Add the Personalizable and WebBrowsable attributes to the
// public properties, so that users can save property values
// and edit them with a PropertyGridEditorPart control.
[Personalizable(), WebBrowsable, WebDisplayName("Nickname")]
public String NickName
{
get
{
object o = ViewState["NickName"];
if (o != null)
return (string)o;
else
return _userNickName;
}
set { _userNickName = server.HtmlEncode(value); }
}
[Personalizable(), WebBrowsable, WebDisplayName("Pet Name")]
public String PetName
{
get
{
object o = ViewState["PetName"];
if (o != null)
return (string)o;
else
return _userPetName;
}
set { _userPetName = server.HtmlEncode(value); }
}
[Personalizable(), WebBrowsable(), WebDisplayName("Special Day")]
public DateTime SpecialDay
{
get
{
object o = ViewState["SpecialDay"];
if (o != null)
return (DateTime)o;
else
return _userSpecialDate;
}
set { _userSpecialDate = value; }
}
[Personalizable(), WebBrowsable(), WebDisplayName("Job Type")]
public JobTypeName UserJobType
{
get
{
object o = ViewState["UserJobType"];
if (o != null)
return (JobTypeName)o;
else
return _userJobType;
}
set { _userJobType = (JobTypeName)value; }
}
[Personalizable(), WebBrowsable(), WebDisplayName("Is Current")]
public Boolean IsCurrent
{
get
{
object o = ViewState["IsCurrent"];
if (o != null)
return (Boolean)o;
else
return _userIsCurrent;
}
set { _userIsCurrent = value; }
}
protected override void CreateChildControls()
{
Controls.Clear();
NickNameLabel = new Label();
NickNameLabel.Text = this.NickName;
SetControlAttributes(NickNameLabel);
PetNameLabel = new Label();
PetNameLabel.Text = this.PetName;
SetControlAttributes(PetNameLabel);
SpecialDateLabel = new Label();
SpecialDateLabel.Text = this.SpecialDay.ToShortDateString();
SetControlAttributes(SpecialDateLabel);
IsCurrentCheckBox = new CheckBox();
IsCurrentCheckBox.Checked = this.IsCurrent;
SetControlAttributes(IsCurrentCheckBox);
JobTypeLabel = new Label();
JobTypeLabel.Text = this.UserJobType.ToString();
SetControlAttributes(JobTypeLabel);
ChildControlsCreated = true;
}
private void SetControlAttributes(WebControl ctl)
{
ctl.BackColor = Color.White;
ctl.BorderWidth = 1;
ctl.Width = 200;
this.Controls.Add(ctl);
}
protected override void RenderContents(HtmlTextWriter writer)
{
writer.Write("Nickname:");
writer.WriteBreak();
NickNameLabel.RenderControl(writer);
writer.WriteBreak();
writer.Write("Pet Name:");
writer.WriteBreak();
PetNameLabel.RenderControl(writer);
writer.WriteBreak();
writer.Write("Special Date:");
writer.WriteBreak();
SpecialDateLabel.RenderControl(writer);
writer.WriteBreak();
writer.Write("Job Type:");
writer.WriteBreak();
JobTypeLabel.RenderControl(writer);
writer.WriteBreak();
writer.Write("Current:");
writer.WriteBreak();
IsCurrentCheckBox.RenderControl(writer);
}
}
[AspNetHostingPermission(SecurityAction.Demand,
Level = AspNetHostingPermissionLevel.Minimal)]
[AspNetHostingPermission(SecurityAction.InheritanceDemand,
Level = AspNetHostingPermissionLevel.Minimal)]
public class TextDisplayWebPart : WebPart
{
private String _contentText = null;
TextBox input;
Label DisplayContent;
Literal lineBreak;
[Personalizable(), WebBrowsable]
public String ContentText
{
get { return _contentText; }
set { _contentText = value; }
}
protected override void CreateChildControls()
{
Controls.Clear();
DisplayContent = new Label();
DisplayContent.BackColor = Color.LightBlue;
DisplayContent.Text = this.ContentText;
this.Controls.Add(DisplayContent);
lineBreak = new Literal();
lineBreak.Text = @"<br />";
Controls.Add(lineBreak);
input = new TextBox();
this.Controls.Add(input);
Button update = new Button();
update.Text = "Set Label Content";
update.Click += new EventHandler(this.submit_Click);
this.Controls.Add(update);
}
private void submit_Click(object sender, EventArgs e)
{
// Update the label string.
if (!string.IsNullOrEmpty(input.Text))
{
_contentText = input.Text + @"<br />";
input.Text = String.Empty;
DisplayContent.Text = this.ContentText;
}
}
}
}
Imports System.Collections
Imports System.ComponentModel
Imports System.Drawing
Imports System.Security.Permissions
Imports System.Web
Imports System.Web.UI
Imports System.Web.UI.WebControls
Imports System.Web.UI.WebControls.WebParts
Namespace Samples.AspNet.VB.Controls
<AspNetHostingPermission(SecurityAction.Demand, _
Level:=AspNetHostingPermissionLevel.Minimal)> _
<AspNetHostingPermission(SecurityAction.InheritanceDemand, _
Level:=AspNetHostingPermissionLevel.Minimal)> _
Public Class UserInfoWebPart
Inherits WebPart
Private server As HttpServerUtility = HttpContext.Current.Server
Private _userNickName As String = "Add a nickname."
Private _userPetName As String = "Add a pet's name."
Private _userSpecialDate As DateTime = DateTime.Now
Private _userIsCurrent As [Boolean] = True
Private _userJobType As JobTypeName = JobTypeName.Unselected
Public Enum JobTypeName
Unselected = 0
Support = 1
Service = 2
Professional = 3
Technical = 4
Manager = 5
Executive = 6
End Enum
Private NickNameLabel As Label
Private PetNameLabel As Label
Private SpecialDateLabel As Label
Private IsCurrentCheckBox As CheckBox
Private JobTypeLabel As Label
' Add the Personalizable and WebBrowsable attributes to the
' public properties, so that users can save property values
' and edit them with a PropertyGridEditorPart control.
<Personalizable(), WebBrowsable(), WebDisplayName("Nickname")> _
Public Property NickName() As String
Get
Dim o As Object = ViewState("NickName")
If Not (o Is Nothing) Then
Return CStr(o)
Else
Return _userNickName
End If
End Get
Set(ByVal value As String)
_userNickName = server.HtmlEncode(value)
End Set
End Property
<Personalizable(), WebBrowsable(), WebDisplayName("Pet Name")> _
Public Property PetName() As String
Get
Dim o As Object = ViewState("PetName")
If Not (o Is Nothing) Then
Return CStr(o)
Else
Return _userPetName
End If
End Get
Set(ByVal value As String)
_userPetName = server.HtmlEncode(value)
End Set
End Property
<Personalizable(), WebBrowsable(), WebDisplayName("Special Day")> _
Public Property SpecialDay() As DateTime
Get
Dim o As Object = ViewState("SpecialDay")
If Not (o Is Nothing) Then
Return CType(o, DateTime)
Else
Return _userSpecialDate
End If
End Get
Set(ByVal value As DateTime)
_userSpecialDate = value
End Set
End Property
<Personalizable(), WebBrowsable(), WebDisplayName("Job Type")> _
Public Property UserJobType() As JobTypeName
Get
Dim o As Object = ViewState("UserJobType")
If Not (o Is Nothing) Then
Return CType(o, JobTypeName)
Else
Return _userJobType
End If
End Get
Set(ByVal value As JobTypeName)
_userJobType = CType(value, JobTypeName)
End Set
End Property
<Personalizable(), WebBrowsable(), WebDisplayName("Is Current")> _
Public Property IsCurrent() As [Boolean]
Get
Dim o As Object = ViewState("IsCurrent")
If Not (o Is Nothing) Then
Return CType(o, [Boolean])
Else
Return _userIsCurrent
End If
End Get
Set(ByVal value As [Boolean])
_userIsCurrent = value
End Set
End Property
Protected Overrides Sub CreateChildControls()
Controls.Clear()
NickNameLabel = New Label()
NickNameLabel.Text = Me.NickName
SetControlAttributes(NickNameLabel)
PetNameLabel = New Label()
PetNameLabel.Text = Me.PetName
SetControlAttributes(PetNameLabel)
SpecialDateLabel = New Label()
SpecialDateLabel.Text = Me.SpecialDay.ToShortDateString()
SetControlAttributes(SpecialDateLabel)
IsCurrentCheckBox = New CheckBox()
IsCurrentCheckBox.Checked = Me.IsCurrent
SetControlAttributes(IsCurrentCheckBox)
JobTypeLabel = New Label()
JobTypeLabel.Text = Me.UserJobType.ToString()
SetControlAttributes(JobTypeLabel)
ChildControlsCreated = True
End Sub
Private Sub SetControlAttributes(ByVal ctl As WebControl)
ctl.BackColor = Color.White
ctl.BorderWidth = 1
ctl.Width = 200
Me.Controls.Add(ctl)
End Sub
Protected Overrides Sub RenderContents(ByVal writer As HtmlTextWriter)
writer.Write("Nickname:")
writer.WriteBreak()
NickNameLabel.RenderControl(writer)
writer.WriteBreak()
writer.Write("Pet Name:")
writer.WriteBreak()
PetNameLabel.RenderControl(writer)
writer.WriteBreak()
writer.Write("Special Date:")
writer.WriteBreak()
SpecialDateLabel.RenderControl(writer)
writer.WriteBreak()
writer.Write("Job Type:")
writer.WriteBreak()
JobTypeLabel.RenderControl(writer)
writer.WriteBreak()
writer.Write("Current:")
writer.WriteBreak()
IsCurrentCheckBox.RenderControl(writer)
End Sub
End Class
<AspNetHostingPermission(SecurityAction.Demand, _
Level:=AspNetHostingPermissionLevel.Minimal)> _
<AspNetHostingPermission(SecurityAction.InheritanceDemand, _
Level:=AspNetHostingPermissionLevel.Minimal)> _
Public Class TextDisplayWebPart
Inherits WebPart
Private _contentText As String = Nothing
Private _fontStyle As String = Nothing
Private input As TextBox
Private DisplayContent As Label
Private lineBreak As Literal
<Personalizable(), WebBrowsable()> _
Public Property ContentText() As String
Get
Return _contentText
End Get
Set(ByVal value As String)
_contentText = value
End Set
End Property
Protected Overrides Sub CreateChildControls()
Controls.Clear()
DisplayContent = New Label()
DisplayContent.BackColor = Color.LightBlue
DisplayContent.Text = Me.ContentText
Me.Controls.Add(DisplayContent)
lineBreak = New Literal()
lineBreak.Text = "<br />"
Controls.Add(lineBreak)
input = New TextBox()
Me.Controls.Add(input)
Dim update As New Button()
update.Text = "Set Label Content"
AddHandler update.Click, AddressOf Me.submit_Click
Me.Controls.Add(update)
End Sub
Private Sub submit_Click(ByVal sender As Object, _
ByVal e As EventArgs)
' Update the label string.
If input.Text <> String.Empty Then
_contentText = input.Text + "<br />"
input.Text = String.Empty
DisplayContent.Text = Me.ContentText
End If
End Sub
End Class
End Namespace
När du läser in sidan i en webbläsare väljer du Katalogläge i listrutan Visningsläge för att växla till katalogläge. I katalogläge kan du se de kontroller som är tillgängliga för att läggas till på sidan. Lägg till alla tre kontrollerna och använd sedan listrutan Visningsläge för att returnera sidan för att bläddra. De tre kontrollerna visas på sidan. Om du använder listrutan Visningsläge och växlar sidan till redigeringsläge kan du klicka på verbmenyn (nedåtpilen) i namnlisten i webbdelskontrollen för användarinformation och klicka på Redigera för att redigera kontrollen. När redigeringsgränssnittet är synligt kan du se PropertyGridEditorPart kontrollen. Observera att en kontroll återges för var och en av egenskaperna för klassen UserInfoWebPart som har markerats med WebBrowsable attributet . Om du gör några ändringar i redigeringsgränssnittet och klickar på knappen Tillämpa kan du använda listrutan Visningsläge för att returnera sidan för att bläddra i läget och se den fullständiga effekten av redigeringsändringarna.
Kommentarer
Precis som det finns verktygsorienterade zoner i kontrolluppsättningen webbdelar (mer information finns i klassöversikten ToolZone ) finns det verktygsorienterade Part kontroller och var och en av dessa kontroller måste finnas i en viss typ av verktygszon. Verktygsorienterade delkontroller i kontrolluppsättningen webbdelar har två särskiljande egenskaper:
De är hjälpkontroller som gör det möjligt för slutanvändare att anpassa kontroller på en webbdelssida.
De visas endast i vissa visningslägen.
DeclarativeCatalogPart är en delkontroll som måste finnas i en CatalogZoneBase typ av zon, till exempel den CatalogZone zon som tillhandahålls med kontrolluppsättningen Webbdelar. Kontrollen DeclarativeCatalogPart visas endast när en webbsida är i katalogvisningsläge.
Kontrollen DeclarativeCatalogPart ger utvecklare ett sätt att lägga till en uppsättning serverkontroller deklarativt i en katalog på en webbsida. En katalog i kontrolluppsättningen Webbdelar är helt enkelt en lista över WebPart eller andra serverkontroller som visas när en sida är i katalogvisningsläge. En användare kan välja kontroller i listan och lägga till dem på webbsidan, vilket effektivt ger användarna möjlighet att ändra uppsättningen kontroller och funktionerna på en sida.
Note
Användare kan lägga till flera instanser av samma kontroll i en katalog på en webbsida.
En fördel med att använda en DeclarativeCatalogPart kontroll för att skapa en katalog med serverkontroller är att den inte kräver någon kodning. Sidutvecklare kan arbeta med kontrollen helt och hållet i formatet deklarativ (eller sidpersistens), därav namnet på kontrollen.
Kontrollen DeclarativeCatalogPart har en användbar egenskap som gör att utvecklare kan konfigurera en katalog med kontroller som kan användas på en hel webbplats. I stället för att deklarera enskilda serverkontroller i en DeclarativeCatalogPart kontroll kan en utvecklare ange WebPartsListUserControlPath egenskapsvärdet till sökvägen till en användarkontroll som innehåller listan över serverkontroller som ska finnas i katalogen. Vid körning läses de serverkontroller som refereras till i användarkontrollen in i katalogen. På så sätt kan flera sidor eller webbplatser referera till samma användarkontroll för att skapa en katalog. När användarkontrollens lista över serverkontroller uppdateras uppdateras alla kataloger baserat på användarkontrollen.
Klassen DeclarativeCatalogPart har ett antal offentliga egenskaper som åsidosätter de ärvda egenskaperna. De flesta av dessa egenskaper används inte för att återge kontrollen. de åsidosätts endast så att särskilda kodattribut kan ställas in på dem för att dölja dem från designverktyg som Microsoft Visual Studio 2005. Du bör inte använda dessa dolda egenskaper eftersom de inte har någon effekt på återgivningen. Det faktum att de är dolda från IntelliSense och fönstret Egenskaper i Visual Studio hjälper utvecklare att undvika att använda dem av misstag. Alla dessa dolda egenskaper anges som sådana i respektive hjälpavsnitt.
Klassen DeclarativeCatalogPart har också flera metoder. Metoden GetAvailableWebPartDescriptions hämtar ett WebPartDescription objekt för varje WebPart kontroll i katalogen, vilket gör att en DeclarativeCatalogPart kontroll kan visa information om varje serverkontroll utan att behöva skapa en instans av den. En annan metod är GetWebPart metoden. Den här metoden hämtar en instans av en viss WebPart kontroll baserat på beskrivningen som skickas till metoden.
Note
För att förbättra tillgängligheten återges DeclarativeCatalogPart kontrollen i ett <fieldset> element. Elementet <fieldset> grupperar den relaterade uppsättningen kontroller som används för redigering i DeclarativeCatalogPart kontrollen, och det underlättar flikarnavigering mellan dessa kontroller för både visuella användaragenter (till exempel vanliga webbläsare) och talorienterade användaragenter (till exempel skärmläsningsprogram).
Konstruktorer
| Name | Description |
|---|---|
| DeclarativeCatalogPart() |
Initierar en ny instans av klassen. |
Egenskaper
| Name | Description |
|---|---|
| AccessKey |
Den här ärvda egenskapen används inte av webbdelskontrolluppsättningen när en kontroll återges DeclarativeCatalogPart . Egenskapen åsidosättas endast för att förhindra att den visas i Microsoft Visual Studio 2005 års designerverktyg. |
| Adapter |
Hämtar det webbläsarspecifika adaptern för kontrollen. (Ärvd från Control) |
| AppRelativeTemplateSourceDirectory |
Hämtar eller anger den programrelativa virtuella katalogen PageUserControl för eller -objektet som innehåller den här kontrollen. (Ärvd från Control) |
| Attributes |
Hämtar samlingen med godtyckliga attribut (endast för återgivning) som inte motsvarar egenskaperna i kontrollen. (Ärvd från WebControl) |
| BackColor |
Den här ärvda egenskapen används inte av DeclarativeCatalogPart kontrollen. Egenskapen åsidosättas endast för att förhindra att den visas i Microsoft Visual Studio 2005 års designerverktyg. |
| BackImageUrl |
Den här ärvda egenskapen används inte av webbdelskontrolluppsättningen när en kontroll återges DeclarativeCatalogPart . Egenskapen åsidosättas endast för att förhindra att den visas i Microsoft Visual Studio 2005 års designerverktyg. |
| BindingContainer |
Hämtar kontrollen som innehåller den här kontrollens databindning. (Ärvd från Control) |
| BorderColor |
Den här ärvda egenskapen används inte av DeclarativeCatalogPart kontrollen. Egenskapen åsidosättas endast för att förhindra att den visas i Microsoft Visual Studio 2005 års designerverktyg. |
| BorderStyle |
Den här ärvda egenskapen används inte av DeclarativeCatalogPart kontrollen. Egenskapen åsidosättas endast för att förhindra att den visas i Microsoft Visual Studio 2005 års designerverktyg. |
| BorderWidth |
Den här ärvda egenskapen används inte av DeclarativeCatalogPart kontrollen. Egenskapen åsidosättas endast för att förhindra att den visas i Microsoft Visual Studio 2005 års designerverktyg. |
| ChildControlsCreated |
Hämtar ett värde som anger om serverkontrollens underordnade kontroller har skapats. (Ärvd från Control) |
| ChromeState |
Hämtar eller anger om en delkontroll är i ett minimerat eller normalt tillstånd. (Ärvd från Part) |
| ChromeType |
Hämtar eller anger vilken typ av kantlinje som ramar in en webbdelskontroll. (Ärvd från Part) |
| ClientID |
Hämtar kontroll-ID:t för HTML-kod som genereras av ASP.NET. (Ärvd från Control) |
| ClientIDMode |
Hämtar eller anger den algoritm som används för att generera värdet för ClientID egenskapen. (Ärvd från Control) |
| ClientIDSeparator |
Hämtar ett teckenvärde som representerar det avgränsartecken som används i egenskapen ClientID . (Ärvd från Control) |
| Context |
Hämtar objektet HttpContext som är associerat med serverkontrollen för den aktuella webbbegäran. (Ärvd från Control) |
| Controls |
Hämtar ett ControlCollection objekt som innehåller underordnade kontroller för en angiven serverkontroll i användargränssnittshierarkin. (Ärvd från Part) |
| ControlStyle |
Hämtar formatmallen för webbserverkontrollen. Den här egenskapen används främst av kontrollutvecklare. (Ärvd från WebControl) |
| ControlStyleCreated |
Hämtar ett värde som anger om ett Style objekt har skapats för egenskapen ControlStyle . Den här egenskapen används främst av kontrollutvecklare. (Ärvd från WebControl) |
| CssClass |
Den här ärvda egenskapen används inte av DeclarativeCatalogPart kontrollen. Egenskapen åsidosättas endast för att förhindra att den visas i Microsoft Visual Studio 2005 års designerverktyg. |
| DataItemContainer |
Hämtar en referens till namngivningscontainern om namngivningscontainern implementerar IDataItemContainer. (Ärvd från Control) |
| DataKeysContainer |
Hämtar en referens till namngivningscontainern om namngivningscontainern implementerar IDataKeysControl. (Ärvd från Control) |
| DefaultButton |
Den här ärvda egenskapen används inte av DeclarativeCatalogPart kontrollen. Egenskapen åsidosättas endast för att förhindra att den visas i Microsoft Visual Studio 2005 års designerverktyg. |
| Description |
Hämtar eller anger en kort fras som sammanfattar vad delkontrollen gör, för användning i Knappbeskrivningar och kataloger med delkontroller. (Ärvd från Part) |
| DesignMode |
Hämtar ett värde som anger om en kontroll används på en designyta. (Ärvd från Control) |
| Direction |
Den här ärvda egenskapen används inte av DeclarativeCatalogPart kontrollen. Egenskapen åsidosättas endast för att förhindra att den visas i Microsoft Visual Studio 2005 års designerverktyg. |
| DisplayTitle |
Hämtar en sträng som innehåller den faktiska aktuella rubriken för en CatalogPart kontroll. (Ärvd från CatalogPart) |
| Enabled |
Den här ärvda egenskapen används inte av DeclarativeCatalogPart kontrollen. Egenskapen åsidosättas endast för att förhindra att den visas i Microsoft Visual Studio 2005 års designerverktyg. |
| EnableTheming |
Den här ärvda egenskapen används inte av DeclarativeCatalogPart kontrollen. Egenskapen åsidosättas endast för att förhindra att den visas i Microsoft Visual Studio 2005 års designerverktyg. |
| EnableViewState |
Hämtar eller anger ett värde som anger om serverkontrollen bevarar sitt visningstillstånd och visningstillståndet för eventuella underordnade kontroller som den innehåller till den begärande klienten. (Ärvd från Control) |
| Events |
Hämtar en lista över händelsehanterardelegater för kontrollen. Den här egenskapen är skrivskyddad. (Ärvd från Control) |
| Font |
Den här ärvda egenskapen används inte av DeclarativeCatalogPart kontrollen. Egenskapen åsidosättas endast för att förhindra att den visas i Microsoft Visual Studio 2005 års designerverktyg. |
| ForeColor |
Den här ärvda egenskapen används inte av DeclarativeCatalogPart kontrollen. Egenskapen åsidosättas endast för att förhindra att den visas i Microsoft Visual Studio 2005 års designerverktyg. |
| GroupingText |
Den här ärvda egenskapen används inte av DeclarativeCatalogPart kontrollen. Egenskapen åsidosättas endast för att förhindra att den visas i Microsoft Visual Studio 2005 års designerverktyg. |
| HasAttributes |
Hämtar ett värde som anger om kontrollen har attribut inställda. (Ärvd från WebControl) |
| HasChildViewState |
Hämtar ett värde som anger om den aktuella serverkontrollens underordnade kontroller har några sparade vytillståndsinställningar. (Ärvd från Control) |
| Height |
Den här ärvda egenskapen används inte av DeclarativeCatalogPart kontrollen. Egenskapen åsidosättas endast för att förhindra att den visas i Microsoft Visual Studio 2005 års designerverktyg. |
| HorizontalAlign |
Den här ärvda egenskapen används inte av DeclarativeCatalogPart kontrollen. Egenskapen åsidosättas endast för att förhindra att den visas i Microsoft Visual Studio 2005 års designerverktyg. |
| ID |
Hämtar eller anger den programmatiska identifierare som tilldelats serverkontrollen. (Ärvd från Control) |
| IdSeparator |
Hämtar det tecken som används för att separera kontrollidentifierare. (Ärvd från Control) |
| IsChildControlStateCleared |
Hämtar ett värde som anger om kontroller i den här kontrollen har kontrolltillstånd. (Ärvd från Control) |
| IsEnabled |
Hämtar ett värde som anger om kontrollen är aktiverad. (Ärvd från WebControl) |
| IsTrackingViewState |
Hämtar ett värde som anger om serverkontrollen sparar ändringar i visningstillståndet. (Ärvd från Control) |
| IsViewStateEnabled |
Hämtar ett värde som anger om visningstillstånd är aktiverat för den här kontrollen. (Ärvd från Control) |
| LoadViewStateByID |
Hämtar ett värde som anger om kontrollen deltar i inläsningen av dess visningstillstånd i ID stället för index. (Ärvd från Control) |
| NamingContainer |
Hämtar en referens till serverkontrollens namngivningscontainer, vilket skapar ett unikt namnområde för differentiering mellan serverkontroller med samma ID egenskapsvärde. (Ärvd från Control) |
| Page |
Hämtar en referens till den Page instans som innehåller serverkontrollen. (Ärvd från Control) |
| Parent |
Hämtar en referens till serverkontrollens överordnade kontroll i sidkontrollhierarkin. (Ärvd från Control) |
| RenderingCompatibility |
Hämtar ett värde som anger den ASP.NET version som renderad HTML kommer att vara kompatibel med. (Ärvd från Control) |
| ScrollBars |
Den här ärvda egenskapen används inte av DeclarativeCatalogPart kontrollen. Egenskapen åsidosättas endast för att förhindra att den visas i Microsoft Visual Studio 2005 års designerverktyg. |
| Site |
Hämtar information om containern som är värd för den aktuella kontrollen när den återges på en designyta. (Ärvd från Control) |
| SkinID |
Den här ärvda egenskapen används inte av DeclarativeCatalogPart kontrollen. Egenskapen åsidosättas endast för att förhindra att den visas i Microsoft Visual Studio 2005 års designerverktyg. |
| Style |
Hämtar en samling textattribut som återges som ett formatattribut på den yttre taggen för webbserverkontrollen. (Ärvd från WebControl) |
| SupportsDisabledAttribute |
Hämtar ett värde som anger om kontrollen ska ange |
| TabIndex |
Den här ärvda egenskapen används inte av DeclarativeCatalogPart kontrollen. Egenskapen åsidosättas endast för att förhindra att den visas i Microsoft Visual Studio 2005 års designerverktyg. |
| TagKey |
Hämtar värdet HtmlTextWriterTag som motsvarar den här webbserverkontrollen. Den här egenskapen används främst av kontrollutvecklare. (Ärvd från WebControl) |
| TagName |
Hämtar namnet på kontrolltaggen. Den här egenskapen används främst av kontrollutvecklare. (Ärvd från WebControl) |
| TemplateControl |
Hämtar eller anger en referens till mallen som innehåller den här kontrollen. (Ärvd från Control) |
| TemplateSourceDirectory |
Hämtar den virtuella katalogen för Page eller UserControl som innehåller den aktuella serverkontrollen. (Ärvd från Control) |
| Title |
Hämtar eller anger rubriken som visas i kontrollens namnlist. |
| ToolTip |
Den här ärvda egenskapen används inte av DeclarativeCatalogPart kontrollen. Egenskapen åsidosättas endast för att förhindra att den visas i Microsoft Visual Studio 2005 års designerverktyg. |
| UniqueID |
Hämtar den unika, hierarkiskt kvalificerade identifieraren för serverkontrollen. (Ärvd från Control) |
| ValidateRequestMode |
Hämtar eller anger ett värde som anger om kontrollen kontrollerar klientindata från webbläsaren efter potentiellt farliga värden. (Ärvd från Control) |
| ViewState |
Hämtar en ordlista med tillståndsinformation som gör att du kan spara och återställa visningstillståndet för en serverkontroll över flera begäranden för samma sida. (Ärvd från Control) |
| ViewStateIgnoresCase |
Hämtar ett värde som anger om objektet StateBag är skiftlägesokänsligt. (Ärvd från Control) |
| ViewStateMode |
Hämtar eller anger visningstillståndsläget för den här kontrollen. (Ärvd från Control) |
| Visible |
Den här ärvda egenskapen används inte av DeclarativeCatalogPart kontrollen. Egenskapen åsidosättas endast för att förhindra att den visas i Microsoft Visual Studio 2005 års designerverktyg. |
| WebPartManager |
Hämtar en referens till den aktuella instansen WebPartManager av klassen. (Ärvd från CatalogPart) |
| WebPartsListUserControlPath |
Hämtar eller anger sökvägen till en användarkontroll som innehåller en lista över WebPart eller andra serverkontroller för katalogen. |
| WebPartsTemplate |
Hämtar eller anger en referens till en mall som innehåller kontrollerna WebPart som deklarerats i en katalog. |
| Width |
Den här ärvda egenskapen används inte av DeclarativeCatalogPart kontrollen. Egenskapen åsidosättas endast för att förhindra att den visas i Microsoft Visual Studio 2005 års designerverktyg. |
| Wrap |
Den här ärvda egenskapen används inte av DeclarativeCatalogPart kontrollen. Egenskapen åsidosättas endast för att förhindra att den visas i Microsoft Visual Studio 2005 års designerverktyg. |
| Zone |
Hämtar en referens till CatalogZoneBase zonen som innehåller en CatalogPart kontroll. (Ärvd från CatalogPart) |
Metoder
| Name | Description |
|---|---|
| AddAttributesToRender(HtmlTextWriter) |
Lägger till information om bakgrundsbilden, justering, radbrytning och riktning i listan över attribut som ska återges. (Ärvd från Panel) |
| AddedControl(Control, Int32) |
Anropas efter att en underordnad kontroll har lagts till i ControlsControl objektets samling. (Ärvd från Control) |
| AddParsedSubObject(Object) |
Meddelar serverkontrollen att ett element, antingen XML eller HTML, parsades och lägger till elementet i serverkontrollens ControlCollection objekt. (Ärvd från Control) |
| ApplyStyle(Style) |
Kopierar alla icke-tomma element i det angivna formatet till webbkontrollen och skriver över alla befintliga formatelement i kontrollen. Den här metoden används främst av kontrollutvecklare. (Ärvd från WebControl) |
| ApplyStyleSheetSkin(Page) |
Tillämpar formategenskaperna som definierats i sidformatmallen på kontrollen. (Ärvd från Control) |
| BeginRenderTracing(TextWriter, Object) |
Påbörjar designtidsspårning av återgivningsdata. (Ärvd från Control) |
| BuildProfileTree(String, Boolean) |
Samlar in information om serverkontrollen och levererar den till egenskapen Trace som ska visas när spårning är aktiverat för sidan. (Ärvd från Control) |
| ClearCachedClientID() |
Anger det cachelagrade ClientID värdet till |
| ClearChildControlState() |
Tar bort kontrolltillståndsinformationen för serverkontrollens underordnade kontroller. (Ärvd från Control) |
| ClearChildState() |
Tar bort informationen om visningstillstånd och kontrolltillstånd för alla serverkontrollens underordnade kontroller. (Ärvd från Control) |
| ClearChildViewState() |
Tar bort visningstillståndsinformationen för alla serverkontrollens underordnade kontroller. (Ärvd från Control) |
| ClearEffectiveClientIDMode() |
Anger egenskapen för ClientIDMode den aktuella kontrollinstansen och för eventuella underordnade kontroller till Inherit. (Ärvd från Control) |
| CopyBaseAttributes(WebControl) |
Kopierar egenskaperna som inte kapslas in av Style objektet från den angivna webbserverkontrollen till den webbserverkontroll som den här metoden anropas från. Den här metoden används främst av kontrollutvecklare. (Ärvd från WebControl) |
| CreateChildControls() |
Anropas av det ASP.NET sidramverket för att meddela serverkontroller som använder kompositionsbaserad implementering för att skapa underordnade kontroller som de innehåller som förberedelse för att publicera tillbaka eller återge. (Ärvd från Control) |
| CreateControlCollection() |
Skapar ett nytt ControlCollection objekt som innehåller de underordnade kontrollerna (både literal och server) för serverkontrollen. (Ärvd från Control) |
| CreateControlStyle() |
Skapar ett formatobjekt som används internt av Panel kontrollen för att implementera alla formatrelaterade egenskaper. (Ärvd från Panel) |
| DataBind() |
Binder en datakälla till den anropade serverkontrollen och alla dess underordnade kontroller. (Ärvd från Part) |
| DataBind(Boolean) |
Binder en datakälla till den anropade serverkontrollen och alla dess underordnade kontroller med ett alternativ för att skapa händelsen DataBinding . (Ärvd från Control) |
| DataBindChildren() |
Binder en datakälla till serverkontrollens underordnade kontroller. (Ärvd från Control) |
| Dispose() |
Gör att en serverkontroll kan utföra slutlig rensning innan den frigörs från minnet. (Ärvd från Control) |
| EndRenderTracing(TextWriter, Object) |
Avslutar designtidsspårning av återgivningsdata. (Ärvd från Control) |
| EnsureChildControls() |
Avgör om serverkontrollen innehåller underordnade kontroller. Om den inte gör det skapar den underordnade kontroller. (Ärvd från Control) |
| EnsureID() |
Skapar en identifierare för kontroller som inte har tilldelats någon identifierare. (Ärvd från Control) |
| Equals(Object) |
Avgör om det angivna objektet är lika med det aktuella objektet. (Ärvd från Object) |
| FindControl(String, Int32) |
Söker i den aktuella namngivningscontainern efter en serverkontroll med det angivna |
| FindControl(String) |
Söker i den aktuella namngivningscontainern efter en serverkontroll med den angivna |
| Focus() |
Anger indatafokus till en kontroll. (Ärvd från Control) |
| GetAvailableWebPartDescriptions() |
Returnerar en samling beskrivningar av de tillgängliga WebPart kontrollerna i en katalog. |
| GetDesignModeState() |
Hämtar det aktuella tillståndet för en CatalogPart kontrolls överordnade zon. (Ärvd från CatalogPart) |
| GetHashCode() |
Fungerar som standard-hash-funktion. (Ärvd från Object) |
| GetRouteUrl(Object) |
Hämtar url:en som motsvarar en uppsättning routningsparametrar. (Ärvd från Control) |
| GetRouteUrl(RouteValueDictionary) |
Hämtar url:en som motsvarar en uppsättning routningsparametrar. (Ärvd från Control) |
| GetRouteUrl(String, Object) |
Hämtar url:en som motsvarar en uppsättning vägparametrar och ett vägnamn. (Ärvd från Control) |
| GetRouteUrl(String, RouteValueDictionary) |
Hämtar url:en som motsvarar en uppsättning vägparametrar och ett vägnamn. (Ärvd från Control) |
| GetType() |
Hämtar den aktuella instansen Type . (Ärvd från Object) |
| GetUniqueIDRelativeTo(Control) |
Returnerar den prefixade delen av UniqueID egenskapen för den angivna kontrollen. (Ärvd från Control) |
| GetWebPart(WebPartDescription) |
Returnerar en referens till en WebPart kontroll baserat på värdet för beskrivningen som skickades till metoden. |
| HasControls() |
Avgör om serverkontrollen innehåller några underordnade kontroller. (Ärvd från Control) |
| HasEvents() |
Returnerar ett värde som anger om händelser har registrerats för kontrollen eller underordnade kontroller. (Ärvd från Control) |
| IsLiteralContent() |
Avgör om serverkontrollen endast innehåller literalinnehåll. (Ärvd från Control) |
| LoadControlState(Object) |
Återställer kontrolltillståndsinformation från en begäran från föregående sida som sparades av SaveControlState() metoden. (Ärvd från Control) |
| LoadViewState(Object) |
Återställer visningstillståndsinformation från en tidigare begäran som sparades med SaveViewState() metoden. (Ärvd från WebControl) |
| MapPathSecure(String) |
Hämtar den fysiska sökväg som en virtuell sökväg, antingen absolut eller relativ, mappar till. (Ärvd från Control) |
| MemberwiseClone() |
Skapar en ytlig kopia av den aktuella Object. (Ärvd från Object) |
| MergeStyle(Style) |
Kopierar alla icke-tomma element i det angivna formatet till webbkontrollen, men skriver inte över några befintliga formatelement i kontrollen. Den här metoden används främst av kontrollutvecklare. (Ärvd från WebControl) |
| OnBubbleEvent(Object, EventArgs) |
Avgör om händelsen för serverkontrollen skickas upp på sidans UI-serverkontrollhierarki. (Ärvd från Control) |
| OnDataBinding(EventArgs) |
Genererar händelsen DataBinding . (Ärvd från Control) |
| OnInit(EventArgs) |
Genererar händelsen Init . (Ärvd från Control) |
| OnLoad(EventArgs) |
Genererar händelsen Load . (Ärvd från Control) |
| OnPreRender(EventArgs) |
Genererar händelsen PreRender . (Ärvd från CatalogPart) |
| OnUnload(EventArgs) |
Genererar händelsen Unload . (Ärvd från Control) |
| OpenFile(String) |
Hämtar en Stream som används för att läsa en fil. (Ärvd från Control) |
| RaiseBubbleEvent(Object, EventArgs) |
Tilldelar alla källor till händelsen och dess information till kontrollens överordnade. (Ärvd från Control) |
| RemovedControl(Control) |
Anropas efter att en underordnad Controls kontroll har tagits bort från objektets Control samling. (Ärvd från Control) |
| Render(HtmlTextWriter) |
Renderar kontrollen till den angivna HTML-skrivaren. (Ärvd från WebControl) |
| RenderBeginTag(HtmlTextWriter) |
Renderar HTML-öppningstaggen för Panel kontrollen till den angivna skrivaren. (Ärvd från Panel) |
| RenderChildren(HtmlTextWriter) |
Matar ut innehållet i en serverkontrolls underordnade objekt till ett angivet HtmlTextWriter objekt som skriver innehållet som ska återges på klienten. (Ärvd från Control) |
| RenderContents(HtmlTextWriter) |
Renderar innehållet i kontrollen till den angivna skrivaren. Den här metoden används främst av kontrollutvecklare. (Ärvd från WebControl) |
| RenderControl(HtmlTextWriter, ControlAdapter) |
Matar ut serverkontrollinnehåll till ett angivet HtmlTextWriter objekt med hjälp av ett angivet ControlAdapter objekt. (Ärvd från Control) |
| RenderControl(HtmlTextWriter) |
Matar ut serverkontrollinnehåll till ett angivet HtmlTextWriter objekt och lagrar spårningsinformation om kontrollen om spårning är aktiverat. (Ärvd från Control) |
| RenderEndTag(HtmlTextWriter) |
Renderar HTML-avslutande taggen för Panel kontrollen till den angivna skrivaren. (Ärvd från Panel) |
| ResolveAdapter() |
Hämtar kontrollkortet som ansvarar för att återge den angivna kontrollen. (Ärvd från Control) |
| ResolveClientUrl(String) |
Hämtar en URL som kan användas av webbläsaren. (Ärvd från Control) |
| ResolveUrl(String) |
Konverterar en URL till en som kan användas på den begärande klienten. (Ärvd från Control) |
| SaveControlState() |
Sparar alla ändringar i serverkontrolltillståndet som har inträffat sedan sidan publicerades tillbaka till servern. (Ärvd från Control) |
| SaveViewState() |
Sparar alla tillstånd som ändrades efter TrackViewState() att metoden anropades. (Ärvd från WebControl) |
| SetDesignModeState(IDictionary) |
Anger designtidsdata för en kontroll. (Ärvd från CatalogPart) |
| SetRenderMethodDelegate(RenderMethod) |
Tilldelar ett händelsehanterardelegat för att återge serverkontrollen och dess innehåll till den överordnade kontrollen. (Ärvd från Control) |
| SetTraceData(Object, Object, Object) |
Anger spårningsdata för designtidsspårning av återgivningsdata, med hjälp av det spårade objektet, spårningsdatanyckeln och värdet för spårningsdata. (Ärvd från Control) |
| SetTraceData(Object, Object) |
Anger spårningsdata för designtidsspårning av återgivningsdata med hjälp av spårningsdatanyckeln och värdet för spårningsdata. (Ärvd från Control) |
| ToString() |
Returnerar en sträng som representerar det aktuella objektet. (Ärvd från Object) |
| TrackViewState() |
Gör att kontrollen spårar ändringar i dess visningstillstånd så att de kan lagras i objektets ViewState egenskap. (Ärvd från WebControl) |
Händelser
| Name | Description |
|---|---|
| DataBinding |
Inträffar när serverkontrollen binder till en datakälla. (Ärvd från Control) |
| Disposed |
Inträffar när en serverkontroll frigörs från minnet, vilket är den sista fasen i serverkontrolllivscykeln när en ASP.NET sida begärs. (Ärvd från Control) |
| Init |
Inträffar när serverkontrollen initieras, vilket är det första steget i dess livscykel. (Ärvd från Control) |
| Load |
Inträffar när serverkontrollen läses in i Page objektet. (Ärvd från Control) |
| PreRender |
Inträffar efter att objektet Control har lästs in men före återgivningen. (Ärvd från Control) |
| Unload |
Inträffar när serverkontrollen tas bort från minnet. (Ärvd från Control) |
Explicita gränssnittsimplementeringar
| Name | Description |
|---|---|
| IAttributeAccessor.GetAttribute(String) |
Hämtar ett attribut för webbkontrollen med det angivna namnet. (Ärvd från WebControl) |
| IAttributeAccessor.SetAttribute(String, String) |
Anger ett attribut för webbkontrollen till det angivna namnet och värdet. (Ärvd från WebControl) |
| ICompositeControlDesignerAccessor.RecreateChildControls() |
Gör att utvecklaren av en designer för en sammansatt delkontroll kan återskapa kontrollens underordnade kontroller på designytan. (Ärvd från Part) |
| IControlBuilderAccessor.ControlBuilder |
En beskrivning av den här medlemmen finns i ControlBuilder. (Ärvd från Control) |
| IControlDesignerAccessor.GetDesignModeState() |
En beskrivning av den här medlemmen finns i GetDesignModeState(). (Ärvd från Control) |
| IControlDesignerAccessor.SetDesignModeState(IDictionary) |
En beskrivning av den här medlemmen finns i SetDesignModeState(IDictionary). (Ärvd från Control) |
| IControlDesignerAccessor.SetOwnerControl(Control) |
En beskrivning av den här medlemmen finns i SetOwnerControl(Control). (Ärvd från Control) |
| IControlDesignerAccessor.UserData |
En beskrivning av den här medlemmen finns i UserData. (Ärvd från Control) |
| IDataBindingsAccessor.DataBindings |
En beskrivning av den här medlemmen finns i DataBindings. (Ärvd från Control) |
| IDataBindingsAccessor.HasDataBindings |
En beskrivning av den här medlemmen finns i HasDataBindings. (Ärvd från Control) |
| IExpressionsAccessor.Expressions |
En beskrivning av den här medlemmen finns i Expressions. (Ärvd från Control) |
| IExpressionsAccessor.HasExpressions |
En beskrivning av den här medlemmen finns i HasExpressions. (Ärvd från Control) |
| IParserAccessor.AddParsedSubObject(Object) |
En beskrivning av den här medlemmen finns i AddParsedSubObject(Object). (Ärvd från Control) |
Tilläggsmetoder
| Name | Description |
|---|---|
| EnableDynamicData(INamingContainer, Type, IDictionary<String,Object>) |
Aktiverar dynamiskt databeteende för den angivna datakontrollen. |
| EnableDynamicData(INamingContainer, Type, Object) |
Aktiverar dynamiskt databeteende för den angivna datakontrollen. |
| EnableDynamicData(INamingContainer, Type) |
Aktiverar dynamiskt databeteende för den angivna datakontrollen. |
| FindDataSourceControl(Control) |
Returnerar datakällan som är associerad med datakontrollen för den angivna kontrollen. |
| FindFieldTemplate(Control, String) |
Returnerar fältmallen för den angivna kolumnen i den angivna kontrollens namngivningscontainer. |
| FindMetaTable(Control) |
Returnerar metatabellobjektet för den innehållande datakontrollen. |
| GetDefaultValues(INamingContainer) |
Hämtar insamlingen av standardvärdena för den angivna datakontrollen. |
| GetMetaTable(INamingContainer) |
Hämtar tabellmetadata för den angivna datakontrollen. |
| SetMetaTable(INamingContainer, MetaTable, IDictionary<String,Object>) |
Anger tabellmetadata och standardvärdemappning för den angivna datakontrollen. |
| SetMetaTable(INamingContainer, MetaTable, Object) |
Anger tabellmetadata och standardvärdemappning för den angivna datakontrollen. |
| SetMetaTable(INamingContainer, MetaTable) |
Anger tabellmetadata för den angivna datakontrollen. |
| TryGetMetaTable(INamingContainer, MetaTable) |
Avgör om tabellmetadata är tillgängliga. |