更新:2007 年 11 月
提供編輯器控制項,可讓使用者編輯關聯的 WebPart 或伺服器控制項上的自訂屬性。此類別無法被繼承。
<asp:PropertyGridEditorPart AccessKey="string" BackColor="color name|#dddddd" BackImageUrl="uri" BorderColor="color name|#dddddd" BorderStyle="NotSet|None|Dotted|Dashed|Solid|Double|Groove|Ridge| Inset|Outset" BorderWidth="size" ChromeState="Normal|Minimized" ChromeType="Default|TitleAndBorder|None|TitleOnly|BorderOnly" CssClass="string" DefaultButton="string" Description="string" Direction="NotSet|LeftToRight|RightToLeft" Enabled="True|False" EnableTheming="True|False" EnableViewState="True|False" Font-Bold="True|False" Font-Italic="True|False" Font-Names="string" Font-Overline="True|False" Font-Size="string|Smaller|Larger|XX-Small|X-Small|Small|Medium| Large|X-Large|XX-Large" Font-Strikeout="True|False" Font-Underline="True|False" ForeColor="color name|#dddddd" GroupingText="string" Height="size" HorizontalAlign="NotSet|Left|Center|Right|Justify" ID="string" OnDataBinding="DataBinding event handler" OnDisposed="Disposed event handler" OnInit="Init event handler" OnLoad="Load event handler" OnPreRender="PreRender event handler" OnUnload="Unload event handler" runat="server" ScrollBars="None|Horizontal|Vertical|Both|Auto" SkinID="string" Style="string" TabIndex="integer" Title="string" ToolTip="string" Visible="True|False" Width="size" Wrap="True|False" />
備註
PropertyGridEditorPart 會提供泛型使用者介面 (UI),可讓使用者編輯位於 WebPartZoneBase 區域中之 WebPart 控制項和伺服器控制項上的自訂屬性。相較之下,其他 EditorPart 控制項 (例如 AppearanceEditorPart 和 BehaviorEditorPart 控制項) 只能編輯來自 WebPart 類別之現有的、UI 導向的屬性。
如需 PropertyGridEditorPart 和 Web 組件控制項的詳細資訊,請參閱 ASP.NET Web 組件控制項。
範例
下列程式碼範例示範如何使用 PropertyGridEditorPart 控制項。Web 網頁包含至 EditorZone 控制項的宣告式參考,其中有一個包含至 PropertyGridEditorPart 控制項之宣告式參考的子 zonetemplate 項目。
如需使用者控制項和在 @ Register 中參考之自訂控制項的定義,請參閱 PropertyGridEditorPart 類別概觀中的「範例」。
<%@ 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">
<script runat="server">
Protected Sub Page_Load(ByVal sender As Object, _
ByVal e As System.EventArgs)
Button1.Visible = False
TextBox1.Visible = False
End Sub
Shared editControlTitle As String
Protected Sub Button1_Click(ByVal sender As Object, _
ByVal e As System.EventArgs)
editControlTitle = Server.HtmlEncode(TextBox1.Text)
PropertyGridEditorPart1.Title = editControlTitle
End Sub
Protected Sub PropertyGridEditorPart1_Init(ByVal _
sender As Object, ByVal e As System.EventArgs)
If Not editControlTitle Is Nothing Then
PropertyGridEditorPart1.Title = editControlTitle
End If
End Sub
Protected Sub PropertyGridEditorPart1_PreRender(ByVal _
sender As Object, ByVal e As System.EventArgs)
Button1.Visible = True
TextBox1.Visible = True
End Sub
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head id="Head1" runat="server">
<title>
User Information WebPart with EditorPart
</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:UserInfoWebPart
runat="server"
id="userinfo"
title = "User Information WebPart"
BackColor="Beige" />
</zonetemplate>
</asp:webpartzone>
<div>
<hr />
<asp:Button ID="Button1" runat="server"
Text="Update EditorPart Title"
OnClick="Button1_Click" />
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
</div>
<asp:EditorZone ID="EditorZone1" runat="server">
<ZoneTemplate>
<asp:PropertyGridEditorPart ID="PropertyGridEditorPart1"
runat="server"
Title="Edit Custom Properties"
OnPreRender="PropertyGridEditorPart1_PreRender"
OnInit="PropertyGridEditorPart1_Init" />
</ZoneTemplate>
</asp:EditorZone>
</form>
</body>
</html>
<%@ 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">
<script runat="server">
protected void Page_Load(object sender, EventArgs e)
{
Button1.Visible = false;
TextBox1.Visible = false;
}
private static String editControlTitle;
protected void Button1_Click(object sender, EventArgs e)
{
editControlTitle = Server.HtmlEncode(TextBox1.Text);
PropertyGridEditorPart1.Title = editControlTitle;
}
protected void PropertyGridEditorPart1_Init(object sender, EventArgs e)
{
if (editControlTitle != null)
PropertyGridEditorPart1.Title = editControlTitle;
}
protected void PropertyGridEditorPart1_PreRender(object sender,
EventArgs e)
{
Button1.Visible = true;
TextBox1.Visible = true;
}
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>
User Information WebPart with EditorPart
</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:UserInfoWebPart
runat="server"
id="userinfo"
title = "User Information WebPart"
BackColor="Beige" />
</zonetemplate>
</asp:webpartzone>
<div>
<hr />
<asp:Button ID="Button1" runat="server"
Text="Update EditorPart Title"
OnClick="Button1_Click" />
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
</div>
<asp:EditorZone ID="EditorZone1" runat="server">
<ZoneTemplate>
<asp:PropertyGridEditorPart ID="PropertyGridEditorPart1"
runat="server"
Title="Edit Custom Properties"
OnPreRender="PropertyGridEditorPart1_PreRender"
OnInit="PropertyGridEditorPart1_Init" />
</ZoneTemplate>
</asp:EditorZone>
</form>
</body>
</html>