WebPart.AllowClose 속성
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
최종 사용자가 웹 페이지에서 WebPart 컨트롤을 닫을 수 있는지 여부를 나타내는 값을 가져오거나 설정합니다.
public:
virtual property bool AllowClose { bool get(); void set(bool value); };
[System.Web.UI.Themeable(false)]
[System.Web.UI.WebControls.WebParts.Personalizable(System.Web.UI.WebControls.WebParts.PersonalizationScope.Shared)]
public virtual bool AllowClose { get; set; }
[<System.Web.UI.Themeable(false)>]
[<System.Web.UI.WebControls.WebParts.Personalizable(System.Web.UI.WebControls.WebParts.PersonalizationScope.Shared)>]
member this.AllowClose : bool with get, set
Public Overridable Property AllowClose As Boolean
속성 값
웹 페이지에서 컨트롤을 닫을 수 있으면 true
이고, 그렇지 않으면 false
입니다. 기본값은 true
입니다.
- 특성
예제
다음 코드 예제에서는 닫을 수 없도록 사용자 지정 WebPart 컨트롤에 AllowClose 대 한 속성의 기본 설정을 변경 하는 방법을 보여 줍니다.
이 예제의 첫 번째 부분에는 라는 TextDisplayWebPart
사용자 지정 WebPart 컨트롤에 대한 코드가 포함되어 있습니다. 사용자 지정 컨트롤 TextDisplayWebPart.AllowClose
의 생성자에서 속성은 로 설정 false
되므로 사용자가 웹 페이지에서 컨트롤을 닫지 못하게 할 수 있습니다. 즉, 컨트롤의 동사 메뉴에 있는 닫는 동사가 사용자에 대해 비활성화됩니다. 코드 예제를 실행하려면 이 소스 코드를 컴파일해야 합니다. 명시적으로 컴파일하고 결과 어셈블리를 웹 사이트의 Bin 폴더 또는 전역 어셈블리 캐시에 넣을 수 있습니다. 또는 소스 코드를 사이트의 App_Code 폴더에 배치하여 런타임에 동적으로 컴파일할 수 있습니다. 이 코드 예제에서는 소스 코드를 어셈블리로 컴파일할 웹 애플리케이션의 Bin 하위 폴더에 배치 및 가정 사용 하 여 어셈블리 참조를 Register
웹 페이지 지시문입니다. 두 가지 컴파일 방법을 모두 보여 주는 연습은 연습: 사용자 지정 웹 서버 컨트롤 개발 및 사용을 참조하세요.
using System;
using System.Security.Permissions;
using System.Web;
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 TextDisplayWebPart : WebPart
{
private String _contentText = null;
TextBox input;
Label DisplayContent;
public TextDisplayWebPart()
{
this.AllowClose = false;
}
[Personalizable(), WebBrowsable]
public String ContentText
{
get { return _contentText; }
set { _contentText = value; }
}
protected override void CreateChildControls()
{
Controls.Clear();
DisplayContent = new Label();
DisplayContent.BackColor =
System.Drawing.Color.LightBlue;
DisplayContent.Text = this.ContentText;
this.Controls.Add(DisplayContent);
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);
ChildControlsCreated = true;
}
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.Security.Permissions
Imports System.Web
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 TextDisplayWebPart
Inherits WebPart
Private _contentText As String = Nothing
Private input As TextBox
Private DisplayContent As Label
Public Sub New()
Me.AllowClose = False
End Sub
<Personalizable(), WebBrowsable()> _
Public Property ContentText() As String
Get
Return _contentText
End Get
Set
_contentText = value
End Set
End Property
Protected Overrides Sub CreateChildControls()
Controls.Clear()
DisplayContent = New Label()
DisplayContent.Text = Me.ContentText
DisplayContent.BackColor = _
System.Drawing.Color.LightBlue
Me.Controls.Add(DisplayContent)
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)
ChildControlsCreated = True
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
이 예제의 두 번째 부분에서는 ASP.NET 웹 페이지에서 컨트롤을 참조 TextDisplayWebPart
하는 방법을 보여줍니다. 컨트롤을 <aspSample:TextDisplayWebPart>
참조하는 요소에서 컨트롤의 생성자가 설정한 속성 값을 변경할 수도 있습니다. 컨트롤을 닫을 수 있도록 하려면 선언적 태그의 요소에 특성을 추가 AllowClose="true"
하기만 하면 됩니다.
<%@ page language="C#" %>
<%@ register tagprefix="aspSample"
Namespace="Samples.AspNet.CS.Controls"
Assembly="TextDisplayWebPartCS"%>
<!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>ASP.NET Example</title>
</head>
<body>
<form id="Form1" runat="server">
<asp:webpartmanager id="WebPartManager1" runat="server" />
<asp:webpartzone
id="WebPartZone1"
runat="server"
title="Zone 1"
PartChromeType="TitleAndBorder">
<parttitlestyle font-bold="true" ForeColor="#3300cc" />
<partstyle
borderwidth="1px"
borderstyle="Solid"
bordercolor="#81AAF2" />
<zonetemplate>
<aspSample:TextDisplayWebPart
runat="server"
id="textwebpart"
title = "Text Content WebPart" />
</zonetemplate>
</asp:webpartzone>
</form>
</body>
</html>
<%@ page language="VB" %>
<%@ register tagprefix="aspSample"
Namespace="Samples.AspNet.VB.Controls"
Assembly="TextDisplayWebPartVB"%>
<!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>ASP.NET Example</title>
</head>
<body>
<form id="Form1" runat="server">
<asp:webpartmanager id="WebPartManager1" runat="server" />
<asp:webpartzone
id="WebPartZone1"
runat="server"
title="Zone 1"
PartChromeType="TitleAndBorder">
<parttitlestyle font-bold="true" ForeColor="#3300cc" />
<partstyle
borderwidth="1px"
borderstyle="Solid"
bordercolor="#81AAF2" />
<zonetemplate>
<aspSample:TextDisplayWebPart
runat="server"
id="textwebpart"
title = "Text Content WebPart" />
</zonetemplate>
</asp:webpartzone>
</form>
</body>
</html>
설명
사용자가 웹 페이지에서 컨트롤을 WebPart 닫으면 컨트롤이 더 이상 페이지에 표시되지 않거나 사용할 수 없습니다. 닫힌 컨트롤은 컨트롤에 대한 참조를 저장하는 웹 파트 엔터티인 페이지 카탈로그에 추가됩니다. 개발자가 PageCatalogPart 컨트롤 내의 페이지에 컨트롤을 CatalogZone 추가하는 경우 사용자는 페이지를 카탈로그 표시 모드로 전환하고 페이지 카탈로그에서 닫힌 컨트롤을 선택한 다음 페이지에 다시 추가할 수 있습니다.
참고
닫힌 WebPart 컨트롤은 프로그래밍 방식으로 페이지에 다시 추가하거나 페이지가 카탈로그 표시 모드에 있을 때 페이지 카탈로그에서 닫힌 컨트롤을 선택하는 사용자가 추가할 수 있습니다.
컨트롤을 WebPart 닫는 것은 삭제와 다릅니다. 삭제된 컨트롤은 영구적으로 제거되는 동안 닫힌 컨트롤을 페이지에 다시 추가할 수 있습니다. 컨트롤 삭제에 대한 자세한 내용은 메서드를 DeleteWebPart 참조하세요. 컨트롤을 닫는 것도 숨기는 작업과 다릅니다. 숨겨진 컨트롤은 여전히 페이지에 있고, 여전히 페이지 수명 주기 이벤트에 참여하고, 사용자 보기에서만 숨겨지지만, 닫힌 컨트롤은 페이지에서 렌더링되지 않습니다.
정적 컨트롤과 동적 WebPart 컨트롤(정적 컨트롤은 페이지의 태그에 선언되고 동적 컨트롤은 프로그래밍 방식으로 추가됨)을 모두 닫을 수 있습니다.
개발자가 속성을 false
로 AllowClose 설정하면 닫기 동사가 컨트롤에 나타나지 않고 사용자가 컨트롤을 닫을 수 없습니다.
이 속성은 테마 또는 스타일시트 테마에 의해 설정될 수 없습니다. 자세한 내용은 ThemeableAttribute 하 고 ASP.NET 테마 및 스킨합니다.
이 속성의 개인 설정 범위는 로 Shared 설정되며 권한 있는 사용자만 수정할 수 있습니다. 자세한 내용은 및 웹 파트 개인 설정 개요를 참조 PersonalizableAttribute 하세요.
적용 대상
추가 정보
.NET