WebPart.AllowClose Свойство
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Получает или задает значение, указывающее возможность закрытия конечным пользователем элемента управления 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
.
- Атрибуты
Примеры
В следующем примере кода показано, как изменить параметр свойства по умолчанию для пользовательского AllowClose WebPart элемента управления, чтобы его нельзя было закрыть.
Первая часть этого примера содержит код для пользовательского WebPart элемента управления с именем TextDisplayWebPart
. Обратите внимание, что в конструкторе пользовательского элемента управления задается false
значение свойства, которое влияет на то, TextDisplayWebPart.AllowClose
что пользователи не закрывают элемент управления на веб-странице. Это означает, что команда закрытия в меню команд элемента управления будет отключена для пользователей. Для запуска примера кода необходимо скомпилировать этот исходный код. Его можно скомпилировать явным образом и поместить результирующая сборка в папку 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
Во второй части примера показано, как ссылаться на TextDisplayWebPart
элемент управления на веб-странице ASP.NET. Обратите внимание, что в элементе <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 элементы управления (статические элементы управления объявляются в разметке страницы, а динамические элементы управления добавляются программными средствами) можно закрыть.
Если разработчик задает AllowClose для свойства значение false
, в элементе управления не отображается команда закрытия, и пользователь не может закрыть элемент управления.
Значение для данного свойства нельзя задать с помощью тем или тем таблиц стилей. Дополнительные сведения смThemeableAttribute. и ASP.NET темы и обложки.
Область персонализации этого свойства задана Shared и может быть изменена только авторизованными пользователями. Дополнительные сведения см. в обзоре PersonalizableAttribute персонализации и веб-части.