ImportCatalogPart Kelas
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.
public ref class ImportCatalogPart sealed : System::Web::UI::WebControls::WebParts::CatalogPart
public sealed class ImportCatalogPart : System.Web.UI.WebControls.WebParts.CatalogPart
type ImportCatalogPart = class
inherit CatalogPart
Public NotInheritable Class ImportCatalogPart
Inherits CatalogPart
- Warisan
Contoh
Contoh kode berikut menunjukkan cara menggunakan ImportCatalogPart kontrol secara deklaratif dan terprogram di halaman Web. Contohnya memiliki empat bagian:
Kontrol pengguna yang memungkinkan Anda mengubah mode tampilan pada halaman Bagian Web.
Halaman Web yang berisi CatalogZone kontrol dan ImportCatalogPart kontrol.
File kode sumber yang berisi dua kontrol kustom WebPart .
Penjelasan tentang cara kerja contoh saat Anda memuat halaman di browser.
Bagian pertama dari contoh kode ini adalah kontrol pengguna yang memungkinkan pengguna mengubah mode tampilan pada halaman Web. Anda harus menempatkan kode sumber berikut dalam file dan memberi nama Displaymodemenucs.ascx atau Displaymodemenuvb.ascx (tergantung pada bahasa mana yang Anda gunakan). Untuk detail tentang mode tampilan dan deskripsi kode sumber dalam kontrol ini, lihat Panduan: Mengubah Mode Tampilan pada Halaman Bagian Web.
<%@ 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>
Bagian kedua dari contoh kode adalah halaman Web. Di bagian atas halaman ada dua register
arahan, satu untuk kontrol pengguna dan satu untuk komponen yang dikompilasi yang berisi dua kontrol kustom WebPart . Perhatikan bahwa halaman memiliki referensi deklaratif ke ImportCatalogPart kontrol, bersarang dalam hierarki elemen deklaratif yang tepat. Perhatikan juga bahwa beberapa nilai properti ditetapkan secara deklaratif pada <asp:importcatalogpart>
elemen . Selain itu, metode memperbarui Button1_Click
sejumlah nilai properti pada ImportCatalogPart kontrol.
Dalam kontrol halaman WebPartZone , dua kontrol kustom WebPart dideklarasikan. Kontrol <aspSample:userinfowebpart>
memiliki exportmode="all"
atribut di atasnya. Atribut ini diperlukan untuk memungkinkan pengguna mengekspor file deskripsi untuk kontrol, yang kemudian dapat diimpor oleh pengguna lain yang ingin mengimpor kontrol menggunakan file deskripsi.
Catatan
Untuk memungkinkan pengguna aplikasi Bagian Web mengekspor file deskripsi untuk WebPart kontrol, Anda juga harus mengaktifkan fitur ekspor di aplikasi Web dengan menambahkan enableExport="true"
atribut ke <webParts>
elemen (yang merupakan anak dari <system.web>
elemen) dalam file Web.config. Ekspor dinonaktifkan secara default, jadi jika Anda belum mengaktifkan ekspor untuk aplikasi Anda, edit file Web.config dan lakukan sekarang.
<%@ page language="c#" %>
<%@ register TagPrefix="uc1"
TagName="DisplayModeMenuCS"
Src="DisplayModeMenuCS.ascx" %>
<%@ register tagprefix="aspSample"
Namespace="Samples.AspNet.CS.Controls" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
// <snippet3>
protected void Button1_Click(object sender, EventArgs e)
{
ImportCatalogPart1.Title = "Import Server Controls";
ImportCatalogPart1.BrowseHelpText = "Enter the path to a "
+ "description file.";
ImportCatalogPart1.UploadButtonText = "Upload Description";
ImportCatalogPart1.UploadHelpText = "Upload a description file.";
ImportCatalogPart1.ImportedPartLabelText = "Imported Controls";
ImportCatalogPart1.PartImportErrorLabelText = "An error occurred "
+ "during the import process.";
}
// </snippet3>
protected void Page_Load(object sender, EventArgs e)
{
Button1.Visible = false;
}
protected void ImportCatalogPart1_PreRender(object sender,
EventArgs e)
{
Button1.Visible = true;
}
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head id="Head1" runat="server">
<title>
ImportCatalogPart 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>
<aspSample:TextDisplayWebPart
runat="server"
id="TextDisplayWebPart1"
title = "Text Display WebPart" />
<aspsample:userinfowebpart id="userinfo1" runat="server"
Title="User Information" exportmode="all" />
</zonetemplate>
</asp:webpartzone>
<asp:EditorZone ID="EditorZone1" runat="server">
<ZoneTemplate>
<asp:PropertyGridEditorPart ID="PropertyGridEditorPart1"
runat="server" />
</ZoneTemplate>
</asp:EditorZone>
<asp:CatalogZone ID="CatalogZone1" runat="server">
<ZoneTemplate>
<asp:ImportCatalogPart ID="ImportCatalogPart1"
runat="server"
Title="My ImportCatalogPart"
OnPreRender="ImportCatalogPart1_PreRender"
BrowseHelpText="Type a path or browse to find a control's
description file."
UploadButtonText="Upload Description File"
UploadHelpText="Click the button to upload the description
file."
ImportedPartLabelText="My User Information WebPart"
PartImportErrorLabelText="An error occurred while trying
to import a description file." />
</ZoneTemplate>
</asp:CatalogZone>
<hr />
<asp:Button ID="Button1" runat="server"
Text="Update ImportCatalogPart"
OnClick="Button1_Click" />
</form>
</body>
</html>
<%@ page language="VB" %>
<%@ register TagPrefix="uc1"
TagName="DisplayModeMenuVB"
Src="DisplayModeMenuVB.ascx" %>
<%@ register tagprefix="aspSample"
Namespace="Samples.AspNet.VB.Controls" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
' <snippet3>
Protected Sub Button1_Click(ByVal sender As Object, _
ByVal e As EventArgs)
ImportCatalogPart1.Title = "Import Server Controls"
ImportCatalogPart1.BrowseHelpText = "Enter the path to a " _
& "description file."
ImportCatalogPart1.UploadButtonText = "Upload Description"
ImportCatalogPart1.UploadHelpText = "Upload a description file."
ImportCatalogPart1.ImportedPartLabelText = "Imported Controls"
ImportCatalogPart1.PartImportErrorLabelText = "An error occurred " _
& "during the import process."
End Sub
' </snippet3>
Protected Sub Page_Load(ByVal sender As Object, _
ByVal e As EventArgs)
Button1.Visible = false
End Sub
Protected Sub ImportCatalogPart1_PreRender(ByVal sender As Object, _
ByVal e As EventArgs)
Button1.Visible = true
End Sub
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>
ImportCatalogPart 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>
<aspSample:TextDisplayWebPart
runat="server"
id="TextDisplayWebPart1"
title = "Text Display WebPart" />
<aspsample:userinfowebpart id="userinfo1" runat="server"
Title="User Information" exportmode="all" />
</zonetemplate>
</asp:webpartzone>
<asp:EditorZone ID="EditorZone1" runat="server">
<ZoneTemplate>
<asp:PropertyGridEditorPart ID="PropertyGridEditorPart1"
runat="server" />
</ZoneTemplate>
</asp:EditorZone>
<asp:CatalogZone ID="CatalogZone1" runat="server">
<ZoneTemplate>
<asp:ImportCatalogPart ID="ImportCatalogPart1"
runat="server"
Title="My ImportCatalogPart"
OnPreRender="ImportCatalogPart1_PreRender"
BrowseHelpText="Type a path or browse to find a control's
description file."
UploadButtonText="Upload Description File"
UploadHelpText="Click the button to upload the description
file."
ImportedPartLabelText="My User Information WebPart"
PartImportErrorLabelText="An error occurred while trying
to import a description file." />
</ZoneTemplate>
</asp:CatalogZone>
<hr />
<asp:Button ID="Button1" runat="server"
Text="Update ImportCatalogPart"
OnClick="Button1_Click" />
</form>
</body>
</html>
Bagian ketiga dari contoh kode adalah kode sumber untuk dua WebPart kontrol. Perhatikan bahwa beberapa properti pada kontrol ini ditandai dengan WebBrowsable
atribut . Ini memungkinkan PropertyGridEditorPart kontrol untuk secara dinamis menghasilkan antarmuka pengguna (UI) bagi pengguna untuk mengedit properti tersebut saat kontrol berada dalam mode edit. Properti juga ditandai dengan WebDisplayName
atribut , untuk menentukan teks label yang muncul di samping setiap kontrol di antarmuka pengguna pengeditan. Agar contoh kode berjalan, Anda harus mengkompilasi kode sumber ini. Anda dapat mengkompilasinya secara eksplisit dan meletakkan rakitan yang dihasilkan di folder Bin situs Web Anda atau cache perakitan global. Atau, Anda dapat meletakkan kode sumber di folder App_Code situs Anda, di mana kode tersebut akan dikompilasi secara dinamis pada durasi. Contoh kode ini menggunakan kompilasi dinamis. Untuk panduan yang menunjukkan kedua metode kompilasi, lihat Panduan: Mengembangkan dan Menggunakan Kontrol Server Web Kustom.
Kontrol kustom yang disebut TextDisplayWebPart
dirujuk pada halaman Web dengan <aspSample:TextDisplayWebPart>
elemen . Kontrol lain, yang disebut UserInfoWebPart
, juga dideklarasikan pada halaman Web pada awalnya, meskipun Anda akan menghapusnya nanti untuk menunjukkan kemampuan untuk mengimpor file deskripsi untuk kontrol.
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 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 PetNickNameLabel;
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);
PetNickNameLabel = new Label();
PetNickNameLabel.Text = this.PetName;
SetControlAttributes(PetNickNameLabel);
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();
PetNickNameLabel.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 = Context.Server.HtmlEncode(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 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 PetNickNameLabel 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)
PetNickNameLabel = New Label()
PetNickNameLabel.Text = Me.PetName
SetControlAttributes(PetNickNameLabel)
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()
PetNickNameLabel.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 String.IsNullOrEmpty(input.Text) = False Then
_contentText = Context.Server.HtmlEncode(input.Text) + "<br />"
input.Text = String.Empty
DisplayContent.Text = Me.ContentText
End If
End Sub
End Class
End Namespace
Sekarang jalankan contoh kode. Muat halaman Web di browser. Langkah pertama adalah mengedit UserInfoWebPart
kontrol. Gunakan kontrol daftar drop-down Mode Tampilan dan pilih Edit untuk mengalihkan halaman ke mode edit. Klik menu UserInfoWebPart
kata kerja kontrol (panah ke bawah di bilah judul), lalu klik Edit. Saat antarmuka pengguna pengeditan muncul, beberapa kontrol pengeditan muncul di bawah UserInfoWebPart
kontrol yang bisa Anda gunakan untuk mengedit nilai bidangnya. Edit beberapa bidang, klik OK, lalu gunakan drop-down Mode Tampilan untuk mengembalikan halaman untuk menelusuri mode.
Langkah kedua adalah mengekspor . File deskripsi WebPart untuk UserInfoWebPart
kontrol. Klik menu kata kerja pada kontrol kustom (diwakili oleh panah ke bawah di bilah judul), dan klik Ekspor. Ikuti instruksi untuk menyimpan . File deskripsi WebPart untuk kontrol. Sekarang tutup halaman Web, dan edit sumber halaman di editor.
<aspSample:userinfowebpart>
Hapus elemen deklarasi kontrol, lalu simpan dan tutup file. (Anda melakukan langkah ini untuk mensimulasikan pengguna yang belum memiliki UserInfoWebPart
kontrol, sehingga Anda dapat mengimpor kontrol ke halaman).
Muat halaman Web lagi di browser.
UserInfoWebPart
Kontrol seharusnya tidak muncul, karena Anda menghapusnya. Gunakan kontrol daftar drop-down Mode Tampilan dan pilih Katalog untuk mengalihkan halaman ke mode katalog.
ImportCatalogPart Di kontrol, klik tombol Telusuri, dan telusuri ke . File WebPart yang Anda buat, lalu klik tombol Unggah. Referensi ke kontrol akan muncul dengan kotak centang di sampingnya. Pilih kotak centang, lalu klik Tambahkan untuk menambahkan kontrol ke halaman.
Saat Anda berada dalam tampilan halaman ini, klik tombol Perbarui ImportCatalogPart di dekat bagian bawah halaman untuk melihat efek memperbarui sejumlah nilai properti secara terprogram pada ImportCatalogPart kontrol. Setelah mengklik tombol , amati bagaimana berbagai properti diubah di UI.
Terakhir, klik Tutup untuk keluar dari mode katalog dan kembalikan halaman untuk menelusuri mode.
UserInfoWebPart
Kontrol sekarang akan muncul di halaman, yang berisi nilai yang dimilikinya saat Anda mengekspornya sebelumnya.
Keterangan
Kontrol ini ImportCatalogPart memungkinkan pengguna mengimpor file deskripsi yang menjelaskan pengaturan pada WebPart kontrol atau kontrol server yang ingin ditambahkan pengguna ke WebPartZoneBase zona.
Setelah pengguna mengimpor file deskripsi, kontrol yang WebPart dirujuk dalam file muncul dalam ImportCatalogPart kontrol, dan pengguna dapat menambahkan kontrol ke halaman.
File deskripsi tidak sama dengan kontrol itu sendiri. Ini adalah file XML yang diakhir dengan . Ekstensi WebPart dan berisi pasangan nama/nilai--sebagian besar nilai properti--yang menjelaskan status kontrol. File deskripsi dibuat sesuai dengan format XML tertentu, seperti yang dijelaskan dalam topik File Deskripsi Kontrol Bagian Web.
Adapun kontrol yang dirujuk oleh file deskripsi, file tersebut dapat dikompilasi ke dalam perakitan, atau dapat menjadi kontrol pengguna yang ditentukan dalam file .ascx. Dalam kedua kasus, kontrol yang direferensikan dalam file deskripsi yang diimpor harus ada di server Web yang menghosting halaman yang mencoba mengimpor kontrol. File deskripsi mereferensikan nama kontrol dan rakitan (atau file) yang berisi kontrol, dan file deskripsi berisi pengaturan yang memengaruhi nilai, tampilan, dan perilaku properti kontrol.
Kontrol ini ImportCatalogPart memungkinkan pengguna untuk berbagi pengaturan pada kontrol. Kontrol kompleks dapat memiliki banyak properti dan pengaturan. Misalnya, di situs intranet umum dalam perusahaan besar, kontrol kustom WebPart mungkin berisi sejumlah properti yang menyimpan nilai khusus untuk lingkungan pengguna, seperti koneksi database mereka, informasi departemen, dan sebagainya. Kontrol mungkin juga berisi sejumlah properti yang memengaruhi tampilannya. Satu pengguna dapat mempersonalisasi kontrol pada situs tertentu dan membuatnya berfungsi dengan baik, mengekspor file deskripsi untuk kontrol, lalu berbagi file deskripsi dengan pengguna lain, yang dapat mengimpor file untuk menambahkan kontrol yang dikonfigurasi sepenuhnya ke situs intranet lain yang diizinkan untuk dipersonalisasi. Selama file rakitan atau kontrol pengguna yang dikompilasi yang berisi kontrol ada di server Web yang menghosting situs mereka, pengguna dapat menambahkan kontrol ke situs Web lainnya.
Mekanisme di mana pengguna mengimpor file deskripsi (dan karenanya kontrol server terkait) ke halaman Web adalah ImportCatalogPart kontrol, yang harus ditambahkan pengembang halaman ke halaman Web. Saat pengguna mengalihkan halaman ke mode tampilan katalog, ImportCatalogPart kontrol muncul, dan pengguna dapat menggunakan kontrol ini untuk menelusuri ke . File deskripsi WebPart yang sesuai dengan kontrol server yang ingin mereka impor. Mengikuti UI dan instruksi yang disediakan oleh ImportCatalogPart kontrol, pengguna dapat menambahkan kontrol server yang diinginkan ke halaman Web, dengan tampilan dan propertinya sepenuhnya dikonfigurasi seperti yang ditentukan dalam file deskripsi yang diimpor.
WebPart Sebelum file deskripsi kontrol dapat diimpor, pengguna harus terlebih dahulu membuat (mengekspor) file berdasarkan kontrol yang adaWebPart. File deskripsi dapat diekspor untuk kontrol jika kondisi berikut terpenuhi:
Kontrol memiliki properti yang ditandai dengan
Personalizable
atribut .File Web.config memiliki nilai atribut yang
enableExport
diatur ketrue
<webParts>
pada elemen .Pengembang menetapkan nilai ExportMode properti pada kontrol ke nilai selain nilai Nonedefault , yang melarang ekspor. ExportMode Jika nilai properti diatur ke NonSensitiveData, properti apa pun yang berisi IsSensitive parameter dengan
Personalizable
atribut tidak diekspor saat pengguna mengekspor file deskripsi. Ini memungkinkan pengembang kontrol untuk mencegah data sensitif, seperti string koneksi, agar tidak diekspor dalam situasi tertentu.
Pengguna dapat mengekspor kontrol yang telah diaktifkan untuk diekspor dengan mengklik kata kerja ekspor yang muncul di menu kata kerja kontrol, dan mengikuti instruksi untuk menyimpan . File deskripsi WebPart untuk kontrol. Pengguna lain kemudian dapat mengimpor file ini untuk mengonfigurasi instans kontrol mereka sendiri.
Kelas ImportCatalogPart berisi beberapa properti. Properti BrowseHelpText berisi teks dengan instruksi untuk pengguna saat mereka menelusuri untuk menemukan file deskripsi. Properti ImportedPartLabelText berisi teks yang berfungsi sebagai label untuk kontrol yang diimpor seperti yang muncul di ImportCatalogPart dalam kontrol. PartImportErrorLabelText berisi teks yang ditampilkan jika terjadi kesalahan saat deskripsi kontrol sedang diimpor. Properti Title mengambil alih properti dasar untuk menetapkan judul default untuk ImportCatalogPart kontrol jika pengembang tidak menetapkan judul. Properti UploadButtonText berisi teks untuk tombol yang diklik pengguna untuk mengunggah file deskripsi, dan UploadHelpText properti berisi instruksi untuk proses unggahan.
Kelas ini ImportCatalogPart juga berisi beberapa metode unik. Metode ini GetAvailableWebPartDescriptions mengambil WebPartDescription objek untuk setiap WebPart kontrol dalam katalog, yang memungkinkan ImportCatalogPart kontrol untuk menampilkan informasi tentang setiap kontrol server tanpa harus membuat instansnya. Metode ini GetWebPart mendapatkan instans kontrol tertentu WebPart , berdasarkan deskripsi yang diteruskan ke metode .
Ada beberapa risiko melekat yang terkait dengan penggunaan ImportCatalogPart kontrol. Salah satu contohnya adalah kemungkinan mengimpor data berbahaya ke aplikasi Web Anda melalui file deskripsi yang digunakan untuk mengimpor. Jika seseorang telah menempatkan kode skrip berbahaya sebagai nilai properti string dalam file deskripsi, skrip tersebut berpotensi dijalankan saat pengguna mengimpor file deskripsi dan menambahkan kontrol server yang dirujuk ke halaman Web. Untuk meminimalkan risiko mengimpor file deskripsi dengan data berbahaya, kontrol server yang memiliki properti jenis string harus selalu mengodekan data properti. Risiko lain melibatkan impor jenis melalui file deskripsi (lihat File Deskripsi Kontrol Bagian Web). Pengguna jahat dapat mengirimkan permintaan untuk memuat banyak rakitan ke dalam AppDomain, yang mengakibatkan jumlah memori yang berlebihan dikonsumsi.
Untuk menghindari risiko yang terkait dengan impor, Anda dapat menonaktifkan fitur sama sekali dengan tidak menggunakan fitur impor atau ImportCatalogPart kontrol. Atau Anda dapat membatasi pengguna apa yang memiliki akses ke kontrol. Anda dapat melakukan ini secara terprogram, menggunakan manajemen peran (lihat Mengelola Otorisasi Menggunakan Peran). Misalnya, saat halaman dimuat, Anda dapat menguji untuk melihat apakah pengguna berada dalam peran tertentu, seperti peran administrator. Jika pengguna berada dalam peran, Anda dapat secara terprogram menambahkan ImportCatalogPart kontrol ke halaman untuk pengguna tersebut. Anda juga dapat menggunakan pendekatan deklaratif untuk membatasi sekumpulan pengguna yang dapat menggunakan ImportCatalogPart kontrol. Dalam halaman web Anda yang berisi katalog, Anda dapat menempatkan dua CatalogZone kontrol: satu untuk pengguna yang dapat mengimpor, dan satu untuk mereka yang tidak bisa. Zona untuk pengguna yang dapat mengimpor akan berisi ImportCatalogPart kontrol. Zona itu sendiri dapat ditempatkan di dalam LoginView kontrol, yang akan memungkinkan Anda membatasi penggunaan kontrol di zona hanya untuk pengguna atau peran terautentikasi yang Anda tentukan.
Konstruktor
ImportCatalogPart() |
Menginisialisasi instans baru kelas ImportCatalogPart. |
Properti
AccessKey |
Mendapatkan atau mengatur kunci akses yang memungkinkan Anda menavigasi dengan cepat ke kontrol server Web. (Diperoleh dari WebControl) |
Adapter |
Mendapatkan adaptor khusus browser untuk kontrol. (Diperoleh dari Control) |
AppRelativeTemplateSourceDirectory |
Mendapatkan atau mengatur direktori virtual relatif aplikasi dari Page objek atau UserControl yang berisi kontrol ini. (Diperoleh dari Control) |
Attributes |
Mendapatkan kumpulan atribut arbitrer (hanya untuk penyajian) yang tidak sesuai dengan properti pada kontrol. (Diperoleh dari WebControl) |
BackColor |
Mendapatkan atau mengatur warna latar belakang kontrol server Web. (Diperoleh dari WebControl) |
BackImageUrl |
Mendapatkan atau mengatur URL gambar latar belakang untuk kontrol panel. (Diperoleh dari Panel) |
BindingContainer |
Mendapatkan kontrol yang berisi pengikatan data kontrol ini. (Diperoleh dari Control) |
BorderColor |
Mendapatkan atau mengatur warna batas kontrol Web. (Diperoleh dari WebControl) |
BorderStyle |
Mendapatkan atau mengatur gaya batas kontrol server Web. (Diperoleh dari WebControl) |
BorderWidth |
Mendapatkan atau mengatur lebar batas kontrol server Web. (Diperoleh dari WebControl) |
BrowseHelpText |
Mendapatkan atau mengatur pesan teks yang menginstruksikan pengguna untuk menelusuri ke lokasi file deskripsi. |
ChildControlsCreated |
Mendapatkan nilai yang menunjukkan apakah kontrol anak kontrol server telah dibuat. (Diperoleh dari Control) |
ChromeState |
Mendapatkan atau mengatur apakah kontrol bagian dalam keadaan diminimalkan atau normal. (Diperoleh dari Part) |
ChromeType |
Mendapatkan atau mengatur tipe batas yang membingkai kontrol Bagian Web. (Diperoleh dari Part) |
ClientID |
Mendapatkan ID kontrol untuk markup HTML yang dihasilkan oleh ASP.NET. (Diperoleh dari Control) |
ClientIDMode |
Mendapatkan atau mengatur algoritma yang digunakan untuk menghasilkan nilai ClientID properti. (Diperoleh dari Control) |
ClientIDSeparator |
Mendapatkan nilai karakter yang mewakili karakter pemisah yang digunakan dalam ClientID properti . (Diperoleh dari Control) |
Context |
Mendapatkan objek yang HttpContext terkait dengan kontrol server untuk permintaan Web saat ini. (Diperoleh dari Control) |
Controls |
ControlCollection Mendapatkan objek yang berisi kontrol anak untuk kontrol server tertentu dalam hierarki antarmuka pengguna. (Diperoleh dari Part) |
ControlStyle |
Mendapatkan gaya kontrol server Web. Properti ini digunakan terutama oleh pengembang kontrol. (Diperoleh dari WebControl) |
ControlStyleCreated |
Mendapatkan nilai yang menunjukkan apakah Style objek telah dibuat untuk ControlStyle properti . Properti ini terutama digunakan oleh pengembang kontrol. (Diperoleh dari WebControl) |
CssClass |
Mendapatkan atau mengatur kelas Cascading Style Sheet (CSS) yang dirender oleh kontrol server Web pada klien. (Diperoleh dari WebControl) |
DataItemContainer |
Mendapatkan referensi ke kontainer penamaan jika kontainer penamaan mengimplementasikan IDataItemContainer. (Diperoleh dari Control) |
DataKeysContainer |
Mendapatkan referensi ke kontainer penamaan jika kontainer penamaan mengimplementasikan IDataKeysControl. (Diperoleh dari Control) |
DefaultButton |
Mendapatkan atau mengatur tombol apa di antarmuka pengguna (UI) diperlakukan sebagai tombol default yang menerima fokus ketika formulir yang berisi tombol dirender. Properti ini tidak dimaksudkan untuk dipanggil dari kode pengembang halaman. |
Description |
Mendapatkan atau mengatur frasa singkat yang meringkas apa yang dilakukan kontrol bagian, untuk digunakan dalam TipsAlat dan katalog kontrol bagian. (Diperoleh dari Part) |
DesignMode |
Mendapatkan nilai yang menunjukkan apakah kontrol sedang digunakan pada permukaan desain. (Diperoleh dari Control) |
Direction |
Mendapatkan atau mengatur arah untuk menampilkan kontrol yang menyertakan teks dalam Panel kontrol. (Diperoleh dari Panel) |
DisplayTitle |
Mendapatkan string yang berisi judul kontrol aktual CatalogPart saat ini. (Diperoleh dari CatalogPart) |
Enabled |
Mendapatkan atau menetapkan nilai yang menunjukkan apakah kontrol server Web diaktifkan. (Diperoleh dari WebControl) |
EnableTheming |
Mendapatkan atau menetapkan nilai yang menunjukkan apakah tema berlaku untuk kontrol ini. (Diperoleh dari WebControl) |
EnableViewState |
Mendapatkan atau menetapkan nilai yang menunjukkan apakah kontrol server mempertahankan status tampilannya, dan status tampilan setiap kontrol anak yang dikandungnya, ke klien yang meminta. (Diperoleh dari Control) |
Events |
Mendapatkan daftar delegasi penanganan aktivitas untuk kontrol. Properti ini bersifat hanya baca. (Diperoleh dari Control) |
Font |
Mendapatkan properti font yang terkait dengan kontrol server Web. (Diperoleh dari WebControl) |
ForeColor |
Mendapatkan atau mengatur warna latar depan (biasanya warna teks) kontrol server Web. (Diperoleh dari WebControl) |
GroupingText |
Mendapatkan atau mengatur keterangan untuk grup kontrol yang terkandung dalam kontrol panel. (Diperoleh dari Panel) |
HasAttributes |
Mendapatkan nilai yang menunjukkan apakah kontrol memiliki atribut yang ditetapkan. (Diperoleh dari WebControl) |
HasChildViewState |
Mendapatkan nilai yang menunjukkan apakah kontrol anak kontrol server saat ini memiliki pengaturan status tampilan yang disimpan. (Diperoleh dari Control) |
Height |
Mendapatkan atau mengatur tinggi kontrol server Web. (Diperoleh dari WebControl) |
HorizontalAlign |
Mendapatkan atau mengatur perataan horizontal konten di dalam panel. (Diperoleh dari Panel) |
ID |
Mendapatkan atau mengatur pengidentifikasi terprogram yang ditetapkan ke kontrol server. (Diperoleh dari Control) |
IdSeparator |
Mendapatkan karakter yang digunakan untuk memisahkan pengidentifikasi kontrol. (Diperoleh dari Control) |
ImportedPartLabelText |
Mendapatkan atau mengatur teks yang ditampilkan setelah pengguna mengimpor file deskripsi untuk mewakili atau menjelaskan kontrol yang diimpor dalam katalog kontrol yang diimpor. |
IsChildControlStateCleared |
Mendapatkan nilai yang menunjukkan apakah kontrol yang terkandung dalam kontrol ini memiliki status kontrol. (Diperoleh dari Control) |
IsEnabled |
Mendapatkan nilai yang menunjukkan apakah kontrol diaktifkan. (Diperoleh dari WebControl) |
IsTrackingViewState |
Mendapatkan nilai yang menunjukkan apakah kontrol server menyimpan perubahan pada status tampilannya. (Diperoleh dari Control) |
IsViewStateEnabled |
Mendapatkan nilai yang menunjukkan apakah status tampilan diaktifkan untuk kontrol ini. (Diperoleh dari Control) |
LoadViewStateByID |
Mendapatkan nilai yang menunjukkan apakah kontrol berpartisipasi dalam memuat status tampilannya dengan ID bukan indeks. (Diperoleh dari Control) |
NamingContainer |
Mendapatkan referensi ke kontainer penamaan kontrol server, yang membuat namespace unik untuk membedakan antara kontrol server dengan nilai properti yang sama ID . (Diperoleh dari Control) |
Page |
Mendapatkan referensi ke Page instans yang berisi kontrol server. (Diperoleh dari Control) |
Parent |
Mendapatkan referensi ke kontrol induk kontrol server dalam hierarki kontrol halaman. (Diperoleh dari Control) |
PartImportErrorLabelText |
Mendapatkan atau mengatur pesan kesalahan yang ditampilkan jika terjadi kesalahan selama proses impor. |
RenderingCompatibility |
Mendapatkan nilai yang menentukan versi ASP.NET yang akan kompatibel dengan HTML yang dirender. (Diperoleh dari Control) |
ScrollBars |
Mendapatkan atau mengatur visibilitas dan posisi bilah gulir dalam Panel kontrol. (Diperoleh dari Panel) |
Site |
Mendapatkan informasi tentang kontainer yang menghosting kontrol saat ini saat dirender pada permukaan desain. (Diperoleh dari Control) |
SkinID |
Mendapatkan atau mengatur kulit untuk diterapkan pada kontrol. (Diperoleh dari WebControl) |
Style |
Mendapatkan kumpulan atribut teks yang akan dirender sebagai atribut gaya pada tag luar kontrol server Web. (Diperoleh dari WebControl) |
SupportsDisabledAttribute |
Mendapatkan nilai yang menunjukkan apakah kontrol harus mengatur |
TabIndex |
Mendapatkan atau mengatur indeks tab kontrol server Web. (Diperoleh dari WebControl) |
TagKey |
HtmlTextWriterTag Mendapatkan nilai yang sesuai dengan kontrol server Web ini. Properti ini digunakan terutama oleh pengembang kontrol. (Diperoleh dari WebControl) |
TagName |
Mendapatkan nama tag kontrol. Properti ini digunakan terutama oleh pengembang kontrol. (Diperoleh dari WebControl) |
TemplateControl |
Mendapatkan atau mengatur referensi ke templat yang berisi kontrol ini. (Diperoleh dari Control) |
TemplateSourceDirectory |
Mendapatkan direktori Page virtual atau UserControl yang berisi kontrol server saat ini. (Diperoleh dari Control) |
Title |
Mendapatkan atau mengatur judul yang muncul di bilah ImportCatalogPart judul kontrol. |
ToolTip |
Mendapatkan atau mengatur teks yang ditampilkan saat penunjuk mouse mengarah ke kontrol server Web. (Diperoleh dari WebControl) |
UniqueID |
Mendapatkan pengidentifikasi unik yang memenuhi syarat secara hierarkis untuk kontrol server. (Diperoleh dari Control) |
UploadButtonText |
Mendapatkan atau mengatur teks untuk Button kontrol yang memulai pengunggahan file deskripsi. |
UploadHelpText |
Mendapatkan atau mengatur teks pesan yang memberi tahu pengguna cara mengunggah file deskripsi. |
ValidateRequestMode |
Mendapatkan atau menetapkan nilai yang menunjukkan apakah kontrol memeriksa input klien dari browser untuk nilai yang berpotensi berbahaya. (Diperoleh dari Control) |
ViewState |
Mendapatkan kamus informasi status yang memungkinkan Anda menyimpan dan memulihkan status tampilan kontrol server di beberapa permintaan untuk halaman yang sama. (Diperoleh dari Control) |
ViewStateIgnoresCase |
Mendapatkan nilai yang menunjukkan apakah StateBag objek tidak peka huruf besar/kecil. (Diperoleh dari Control) |
ViewStateMode |
Mendapatkan atau mengatur mode view-state kontrol ini. (Diperoleh dari Control) |
Visible |
Mendapatkan atau mengatur nilai yang menunjukkan apakah kontrol server dirender sebagai UI di halaman. (Diperoleh dari Control) |
WebPartManager |
Mendapatkan referensi ke instans WebPartManager kelas saat ini. (Diperoleh dari CatalogPart) |
Width |
Mendapatkan atau mengatur lebar kontrol server Web. (Diperoleh dari WebControl) |
Wrap |
Mendapatkan atau menetapkan nilai yang menunjukkan apakah konten dibungkus dalam panel. (Diperoleh dari Panel) |
Zone |
Mendapatkan referensi ke CatalogZoneBase zona yang berisi CatalogPart kontrol. (Diperoleh dari CatalogPart) |
Metode
AddAttributesToRender(HtmlTextWriter) |
Menambahkan informasi tentang gambar latar belakang, perataan, pembungkusan, dan arah ke daftar atribut yang akan dirender. (Diperoleh dari Panel) |
AddedControl(Control, Int32) |
Dipanggil setelah kontrol anak ditambahkan ke Controls koleksi Control objek. (Diperoleh dari Control) |
AddParsedSubObject(Object) |
Memberi tahu kontrol server bahwa elemen, baik XML atau HTML, diurai, dan menambahkan elemen ke objek kontrol ControlCollection server. (Diperoleh dari Control) |
ApplyStyle(Style) |
Menyalin elemen tidak kosong dari gaya yang ditentukan ke kontrol Web, menimpa elemen gaya kontrol yang ada. Metode ini terutama digunakan oleh pengembang kontrol. (Diperoleh dari WebControl) |
ApplyStyleSheetSkin(Page) |
Menerapkan properti gaya yang ditentukan dalam lembar gaya halaman ke kontrol. (Diperoleh dari Control) |
BeginRenderTracing(TextWriter, Object) |
Memulai pelacakan waktu desain untuk merender data. (Diperoleh dari Control) |
BuildProfileTree(String, Boolean) |
Mengumpulkan informasi tentang kontrol server dan mengirimkannya ke properti yang Trace akan ditampilkan saat pelacakan diaktifkan untuk halaman. (Diperoleh dari Control) |
ClearCachedClientID() |
Mengatur nilai yang di-cache ClientID ke |
ClearChildControlState() |
Menghapus informasi status-kontrol untuk kontrol anak kontrol server. (Diperoleh dari Control) |
ClearChildState() |
Menghapus informasi status-tampilan dan status-kontrol untuk semua kontrol turunan kontrol server. (Diperoleh dari Control) |
ClearChildViewState() |
Menghapus informasi status tampilan untuk semua kontrol anak kontrol server. (Diperoleh dari Control) |
ClearEffectiveClientIDMode() |
Mengatur properti instans ClientIDMode kontrol saat ini dan kontrol turunan apa pun ke Inherit. (Diperoleh dari Control) |
CopyBaseAttributes(WebControl) |
Menyalin properti yang tidak dienkapsulasi oleh Style objek dari kontrol server Web yang ditentukan ke kontrol server Web tempat metode ini dipanggil. Metode ini digunakan terutama oleh pengembang kontrol. (Diperoleh dari WebControl) |
CreateChildControls() |
Dipanggil oleh kerangka kerja halaman ASP.NET untuk memberi tahu kontrol server yang menggunakan implementasi berbasis komposisi untuk membuat kontrol anak apa pun yang dikandungnya sebagai persiapan untuk memposting kembali atau merender. (Diperoleh dari Control) |
CreateControlCollection() |
Membuat objek baru ControlCollection untuk menahan kontrol anak (baik literal maupun server) dari kontrol server. (Diperoleh dari Control) |
CreateControlStyle() |
Membuat objek gaya yang digunakan secara internal oleh Panel kontrol untuk mengimplementasikan semua properti terkait gaya. (Diperoleh dari Panel) |
DataBind() |
Mengikat sumber data ke kontrol server yang dipanggil dan semua kontrol turunannya. (Diperoleh dari Part) |
DataBind(Boolean) |
Mengikat sumber data ke kontrol server yang dipanggil dan semua kontrol turunannya dengan opsi untuk menaikkan DataBinding peristiwa. (Diperoleh dari Control) |
DataBindChildren() |
Mengikat sumber data ke kontrol anak kontrol server. (Diperoleh dari Control) |
Dispose() |
Memungkinkan kontrol server untuk melakukan pembersihan akhir sebelum dilepaskan dari memori. (Diperoleh dari Control) |
EndRenderTracing(TextWriter, Object) |
Mengakhiri pelacakan waktu desain penyajian data. (Diperoleh dari Control) |
EnsureChildControls() |
Menentukan apakah kontrol server memuat kontrol turunan. Jika tidak, ia membuat kontrol anak. (Diperoleh dari Control) |
EnsureID() |
Membuat pengidentifikasi untuk kontrol yang tidak memiliki pengidentifikasi yang ditetapkan. (Diperoleh dari Control) |
Equals(Object) |
Menentukan apakah objek yang ditentukan sama dengan objek saat ini. (Diperoleh dari Object) |
FindControl(String) |
Mencari kontainer penamaan saat ini untuk kontrol server dengan parameter yang ditentukan |
FindControl(String, Int32) |
Mencari kontainer penamaan saat ini untuk kontrol server dengan bilangan bulat dan yang ditentukan |
Focus() |
Mengatur fokus input ke kontrol. (Diperoleh dari Control) |
GetAvailableWebPartDescriptions() |
Mengembalikan kumpulan deskripsi kontrol yang tersedia WebPart dalam katalog. |
GetDesignModeState() |
Mengambil status CatalogPart zona induk kontrol saat ini. (Diperoleh dari CatalogPart) |
GetHashCode() |
Berfungsi sebagai fungsi hash default. (Diperoleh dari Object) |
GetRouteUrl(Object) |
Mendapatkan URL yang sesuai dengan sekumpulan parameter rute. (Diperoleh dari Control) |
GetRouteUrl(RouteValueDictionary) |
Mendapatkan URL yang sesuai dengan sekumpulan parameter rute. (Diperoleh dari Control) |
GetRouteUrl(String, Object) |
Mendapatkan URL yang sesuai dengan sekumpulan parameter rute dan nama rute. (Diperoleh dari Control) |
GetRouteUrl(String, RouteValueDictionary) |
Mendapatkan URL yang sesuai dengan sekumpulan parameter rute dan nama rute. (Diperoleh dari Control) |
GetType() |
Mendapatkan dari instans Type saat ini. (Diperoleh dari Object) |
GetUniqueIDRelativeTo(Control) |
Mengembalikan bagian awalan dari UniqueID properti kontrol yang ditentukan. (Diperoleh dari Control) |
GetWebPart(WebPartDescription) |
Mengembalikan referensi ke WebPart kontrol berdasarkan nilai dalam deskripsi yang diteruskan ke metode . |
HasControls() |
Menentukan apakah kontrol server berisi kontrol anak apa pun. (Diperoleh dari Control) |
HasEvents() |
Mengembalikan nilai yang menunjukkan apakah peristiwa terdaftar untuk kontrol atau kontrol turunan apa pun. (Diperoleh dari Control) |
IsLiteralContent() |
Menentukan apakah kontrol server hanya menyimpan konten harfiah. (Diperoleh dari Control) |
LoadControlState(Object) |
Memulihkan informasi status kontrol dari permintaan halaman sebelumnya yang disimpan oleh SaveControlState() metode . (Diperoleh dari Control) |
LoadViewState(Object) |
Memulihkan informasi status tampilan dari permintaan sebelumnya yang disimpan dengan SaveViewState() metode . (Diperoleh dari WebControl) |
MapPathSecure(String) |
Mengambil jalur fisik tempat jalur virtual, baik absolut atau relatif, dipetakan. (Diperoleh dari Control) |
MemberwiseClone() |
Membuat salinan dangkal dari saat ini Object. (Diperoleh dari Object) |
MergeStyle(Style) |
Menyalin elemen tidak kosong dari gaya yang ditentukan ke kontrol Web, tetapi tidak akan menimpa elemen gaya kontrol yang ada. Metode ini digunakan terutama oleh pengembang kontrol. (Diperoleh dari WebControl) |
OnBubbleEvent(Object, EventArgs) |
Menentukan apakah peristiwa untuk kontrol server diteruskan ke hierarki kontrol server UI halaman. (Diperoleh dari Control) |
OnDataBinding(EventArgs) |
Memunculkan kejadian DataBinding. (Diperoleh dari Control) |
OnInit(EventArgs) |
Memunculkan kejadian Init. (Diperoleh dari Control) |
OnLoad(EventArgs) |
Memunculkan kejadian Load. (Diperoleh dari Control) |
OnPreRender(EventArgs) |
Memunculkan kejadian PreRender. (Diperoleh dari CatalogPart) |
OnUnload(EventArgs) |
Memunculkan kejadian Unload. (Diperoleh dari Control) |
OpenFile(String) |
Stream Terbiasa membaca file. (Diperoleh dari Control) |
RaiseBubbleEvent(Object, EventArgs) |
Menetapkan sumber peristiwa apa pun dan informasinya ke induk kontrol. (Diperoleh dari Control) |
RemovedControl(Control) |
Dipanggil setelah kontrol anak dihapus dari Controls koleksi Control objek. (Diperoleh dari Control) |
Render(HtmlTextWriter) |
Merender kontrol ke penulis HTML yang ditentukan. (Diperoleh dari WebControl) |
RenderBeginTag(HtmlTextWriter) |
Merender tag pembuka HTML kontrol Panel ke penulis yang ditentukan. (Diperoleh dari Panel) |
RenderChildren(HtmlTextWriter) |
Menghasilkan konten turunan kontrol server ke objek yang disediakan HtmlTextWriter , yang menulis konten yang akan dirender pada klien. (Diperoleh dari Control) |
RenderContents(HtmlTextWriter) |
Merender konten kontrol ke penulis yang ditentukan. Metode ini digunakan terutama oleh pengembang kontrol. (Diperoleh dari WebControl) |
RenderControl(HtmlTextWriter) |
Output konten kontrol server ke objek yang disediakan HtmlTextWriter dan menyimpan informasi pelacakan tentang kontrol jika pelacakan diaktifkan. (Diperoleh dari Control) |
RenderControl(HtmlTextWriter, ControlAdapter) |
Output konten kontrol server ke objek yang disediakan HtmlTextWriter menggunakan objek yang disediakan ControlAdapter . (Diperoleh dari Control) |
RenderEndTag(HtmlTextWriter) |
Merender tag penutup HTML kontrol Panel ke penulis yang ditentukan. (Diperoleh dari Panel) |
ResolveAdapter() |
Mendapatkan adaptor kontrol yang bertanggung jawab untuk merender kontrol yang ditentukan. (Diperoleh dari Control) |
ResolveClientUrl(String) |
Mendapatkan URL yang dapat digunakan oleh browser. (Diperoleh dari Control) |
ResolveUrl(String) |
Mengonversi URL menjadi URL yang dapat digunakan pada klien yang meminta. (Diperoleh dari Control) |
SaveControlState() |
Menyimpan perubahan status kontrol server apa pun yang telah terjadi sejak halaman diposting kembali ke server. (Diperoleh dari Control) |
SaveViewState() |
Menyimpan status apa pun yang dimodifikasi setelah TrackViewState() metode dipanggil. (Diperoleh dari WebControl) |
SetDesignModeState(IDictionary) |
Mengatur data waktu desain untuk kontrol. (Diperoleh dari CatalogPart) |
SetRenderMethodDelegate(RenderMethod) |
Menetapkan delegasi penanganan aktivitas untuk merender kontrol server dan kontennya ke dalam kontrol induknya. (Diperoleh dari Control) |
SetTraceData(Object, Object) |
Mengatur data pelacakan untuk pelacakan waktu desain data penyajian, menggunakan kunci data pelacakan dan nilai data pelacakan. (Diperoleh dari Control) |
SetTraceData(Object, Object, Object) |
Mengatur data pelacakan untuk pelacakan waktu desain data penyajian, menggunakan objek yang dilacak, kunci data pelacakan, dan nilai data pelacakan. (Diperoleh dari Control) |
ToString() |
Mengembalikan string yang mewakili objek saat ini. (Diperoleh dari Object) |
TrackViewState() |
Menyebabkan kontrol melacak perubahan pada status tampilannya sehingga dapat disimpan di properti objek ViewState . (Diperoleh dari WebControl) |
Acara
DataBinding |
Terjadi ketika kontrol server mengikat ke sumber data. (Diperoleh dari Control) |
Disposed |
Terjadi ketika kontrol server dilepaskan dari memori, yang merupakan tahap terakhir dari siklus hidup kontrol server ketika halaman ASP.NET diminta. (Diperoleh dari Control) |
Init |
Terjadi ketika kontrol server diinisialisasi, yang merupakan langkah pertama dalam siklus hidupnya. (Diperoleh dari Control) |
Load |
Terjadi ketika kontrol server dimuat ke Page dalam objek. (Diperoleh dari Control) |
PreRender |
Terjadi setelah Control objek dimuat tetapi sebelum penyajian. (Diperoleh dari Control) |
Unload |
Terjadi ketika kontrol server dibongkar dari memori. (Diperoleh dari Control) |
Implementasi Antarmuka Eksplisit
IAttributeAccessor.GetAttribute(String) |
Mendapatkan atribut kontrol Web dengan nama yang ditentukan. (Diperoleh dari WebControl) |
IAttributeAccessor.SetAttribute(String, String) |
Mengatur atribut kontrol Web ke nama dan nilai yang ditentukan. (Diperoleh dari WebControl) |
ICompositeControlDesignerAccessor.RecreateChildControls() |
Memungkinkan pengembang perancang untuk kontrol bagian komposit untuk membuat ulang kontrol anak kontrol pada permukaan desain. (Diperoleh dari Part) |
IControlBuilderAccessor.ControlBuilder |
Untuk deskripsi anggota ini, lihat ControlBuilder. (Diperoleh dari Control) |
IControlDesignerAccessor.GetDesignModeState() |
Untuk deskripsi anggota ini, lihat GetDesignModeState(). (Diperoleh dari Control) |
IControlDesignerAccessor.SetDesignModeState(IDictionary) |
Untuk deskripsi anggota ini, lihat SetDesignModeState(IDictionary). (Diperoleh dari Control) |
IControlDesignerAccessor.SetOwnerControl(Control) |
Untuk deskripsi anggota ini, lihat SetOwnerControl(Control). (Diperoleh dari Control) |
IControlDesignerAccessor.UserData |
Untuk deskripsi anggota ini, lihat UserData. (Diperoleh dari Control) |
IDataBindingsAccessor.DataBindings |
Untuk deskripsi anggota ini, lihat DataBindings. (Diperoleh dari Control) |
IDataBindingsAccessor.HasDataBindings |
Untuk deskripsi anggota ini, lihat HasDataBindings. (Diperoleh dari Control) |
IExpressionsAccessor.Expressions |
Untuk deskripsi anggota ini, lihat Expressions. (Diperoleh dari Control) |
IExpressionsAccessor.HasExpressions |
Untuk deskripsi anggota ini, lihat HasExpressions. (Diperoleh dari Control) |
IParserAccessor.AddParsedSubObject(Object) |
Untuk deskripsi anggota ini, lihat AddParsedSubObject(Object). (Diperoleh dari Control) |
Metode Ekstensi
FindDataSourceControl(Control) |
Mengembalikan sumber data yang terkait dengan kontrol data untuk kontrol yang ditentukan. |
FindFieldTemplate(Control, String) |
Mengembalikan templat bidang untuk kolom yang ditentukan dalam kontainer penamaan kontrol yang ditentukan. |
FindMetaTable(Control) |
Mengembalikan objek metatable untuk kontrol data yang berisi. |
GetDefaultValues(INamingContainer) |
Mendapatkan kumpulan nilai default untuk kontrol data yang ditentukan. |
GetMetaTable(INamingContainer) |
Mendapatkan metadata tabel untuk kontrol data yang ditentukan. |
SetMetaTable(INamingContainer, MetaTable) |
Mengatur metadata tabel untuk kontrol data yang ditentukan. |
SetMetaTable(INamingContainer, MetaTable, IDictionary<String,Object>) |
Mengatur metadata tabel dan pemetaan nilai default untuk kontrol data yang ditentukan. |
SetMetaTable(INamingContainer, MetaTable, Object) |
Mengatur metadata tabel dan pemetaan nilai default untuk kontrol data yang ditentukan. |
TryGetMetaTable(INamingContainer, MetaTable) |
Menentukan apakah metadata tabel tersedia. |
EnableDynamicData(INamingContainer, Type) |
Mengaktifkan perilaku Data Dinamis untuk kontrol data yang ditentukan. |
EnableDynamicData(INamingContainer, Type, IDictionary<String,Object>) |
Mengaktifkan perilaku Data Dinamis untuk kontrol data yang ditentukan. |
EnableDynamicData(INamingContainer, Type, Object) |
Mengaktifkan perilaku Data Dinamis untuk kontrol data yang ditentukan. |