WebPartManager.CatalogDisplayMode Pole
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Představuje režim zobrazení používaný pro přidání serverových ovládacích prvků z katalogu ovládacích prvků na webovou stránku. Toto pole je jen ke čtení.
public: static initonly System::Web::UI::WebControls::WebParts::WebPartDisplayMode ^ CatalogDisplayMode;
public static readonly System.Web.UI.WebControls.WebParts.WebPartDisplayMode CatalogDisplayMode;
staticval mutable CatalogDisplayMode : System.Web.UI.WebControls.WebParts.WebPartDisplayMode
Public Shared ReadOnly CatalogDisplayMode As WebPartDisplayMode
Hodnota pole
Příklady
Následující příklad kódu ukazuje, jak pracovat s polem CatalogDisplayMode programově. Kód naplní rozevírací seznam podporovanými režimy zobrazení stránky, kterými jsou v tomto případě procházení, návrh a katalog. Režim katalogu je k dispozici kvůli elementu <asp:CatalogZone>
a jeho podřízeným prvkům na webové stránce. Všimněte si, že v Page_PreRender
metodě kód kontroluje, jestli je aktuální DisplayMode vlastnost nastavená na CatalogDisplayModehodnotu . Pokud ano, Label1
bude viditelný, a pokud ne, Label1
bude skrytý.
<%@ Page Language="C#" %>
<!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_Init(object sender, EventArgs e)
{
foreach (WebPartDisplayMode mode in mgr.SupportedDisplayModes)
{
string modeName = mode.Name;
if (mode.IsEnabled(mgr))
{
ListItem item = new ListItem(modeName, modeName);
DisplayModeDropdown.Items.Add(item);
}
}
}
protected void DisplayModeDropdown_SelectedIndexChanged(object
sender, EventArgs e)
{
String selectedMode = DisplayModeDropdown.SelectedValue;
WebPartDisplayMode mode =
mgr.SupportedDisplayModes[selectedMode];
if (mode != null)
mgr.DisplayMode = mode;
}
protected void Page_PreRender(object sender, EventArgs e)
{
if (mgr.DisplayMode == WebPartManager.CatalogDisplayMode)
Label1.Visible = true;
else
Label1.Visible = false;
}
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>ASP.NET Example</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:WebPartManager ID="mgr" runat="server">
</asp:WebPartManager>
<asp:WebPartZone ID="WebPartZone1" runat="server">
<ZoneTemplate>
<asp:BulletedList
DisplayMode="HyperLink"
ID="BulletedList1"
runat="server"
Title="My Links">
<asp:ListItem Value="http://www.microsoft.com">
Microsoft
</asp:ListItem>
<asp:ListItem Value="http://www.msn.com">
MSN
</asp:ListItem>
<asp:ListItem Value="http://www.contoso.com">
Contoso Corp.
</asp:ListItem>
</asp:BulletedList>
</ZoneTemplate>
</asp:WebPartZone>
<asp:WebPartZone ID="WebPartZone2" runat="server" />
<asp:CatalogZone ID="CatalogZone1" runat="server">
<ZoneTemplate>
<asp:DeclarativeCatalogPart
ID="DeclarativeCatalogPart1"
runat="server">
<WebPartsTemplate>
<asp:Calendar ID="Calendar1" runat="server"
Title="My Calendar" />
</WebPartsTemplate>
</asp:DeclarativeCatalogPart>
</ZoneTemplate>
</asp:CatalogZone>
<hr />
<asp:Label ID="Label1" runat="server"
Text="Currently in Catalog Mode"
Font-Bold="true"
Font-Size="125%" />
<br />
<asp:DropDownList ID="DisplayModeDropdown"
runat="server"
AutoPostBack="true"
Width="120"
OnSelectedIndexChanged=
"DisplayModeDropdown_SelectedIndexChanged">
</asp:DropDownList>
</div>
</form>
</body>
</html>
<%@ Page Language="VB" %>
<!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_Init(ByVal sender As Object, _
ByVal e As EventArgs)
Dim mode As WebPartDisplayMode
For Each mode In mgr.SupportedDisplayModes
Dim modeName As String = mode.Name
If mode.IsEnabled(mgr) Then
Dim item As ListItem = New ListItem(modeName, modeName)
DisplayModeDropdown.Items.Add(item)
End If
Next
End Sub
Protected Sub DisplayModeDropdown_SelectedIndexChanged(ByVal _
sender As Object, ByVal e As EventArgs)
Dim selectedMode As String = _
DisplayModeDropdown.SelectedValue
Dim mode As WebPartDisplayMode = _
mgr.SupportedDisplayModes(selectedMode)
If mode IsNot Nothing Then
mgr.DisplayMode = mode
End If
End Sub
Protected Sub Page_PreRender(ByVal sender As Object, _
ByVal e As System.EventArgs)
If mgr.DisplayMode.Equals(WebPartManager.CatalogDisplayMode) Then
Label1.Visible = True
Else
Label1.Visible = False
End If
End Sub
</script>
<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">
<div>
<asp:WebPartManager ID="mgr" runat="server">
</asp:WebPartManager>
<asp:WebPartZone ID="WebPartZone1" runat="server">
<ZoneTemplate>
<asp:BulletedList
DisplayMode="HyperLink"
ID="BulletedList1"
runat="server"
Title="My Links">
<asp:ListItem Value="http://www.microsoft.com">
Microsoft
</asp:ListItem>
<asp:ListItem Value="http://www.msn.com">
MSN
</asp:ListItem>
<asp:ListItem Value="http://www.contoso.com">
Contoso Corp.
</asp:ListItem>
</asp:BulletedList>
</ZoneTemplate>
</asp:WebPartZone>
<asp:WebPartZone ID="WebPartZone2" runat="server" />
<asp:CatalogZone ID="CatalogZone1" runat="server">
<ZoneTemplate>
<asp:DeclarativeCatalogPart
ID="DeclarativeCatalogPart1"
runat="server">
<WebPartsTemplate>
<asp:Calendar ID="Calendar1" runat="server"
Title="My Calendar" />
</WebPartsTemplate>
</asp:DeclarativeCatalogPart>
</ZoneTemplate>
</asp:CatalogZone>
<hr />
<asp:Label ID="Label1" runat="server"
Text="Currently in Catalog Mode"
Font-Bold="true"
Font-Size="125%" />
<br />
<asp:DropDownList ID="DisplayModeDropdown"
runat="server"
AutoPostBack="true"
Width="120"
OnSelectedIndexChanged=
"DisplayModeDropdown_SelectedIndexChanged">
</asp:DropDownList>
</div>
</form>
</body>
</html>
Po načtení stránky v prohlížeči jste ve výchozím nastavení v režimu procházení. Všimněte si, že popisek na stránce je skrytý. Pomocí ovládacího prvku rozevíracího seznamu přepněte stránku do režimu katalogu. Všimněte si, že kvůli kódu v Page_PreRender
metodě je teď popisek viditelný. Můžete vybrat ovládací prvek v katalogu a přidat ho do některé ze dvou zón na stránce.
Poznámky
Pole CatalogDisplayMode odkazuje na vlastní WebPartDisplayMode objekt, který je vytvořen a obsažený v ovládacím WebPartManager prvku. Vzhledem k tomu, že se jedná o statický objekt, můžete na něj odkazovat přímo prostřednictvím WebPartManager třídy bez nutnosti instance ovládacího prvku.
Když uživatelé chtějí na stránku přidat ovládací prvky a je k dispozici katalog serverových ovládacích prvků, můžou stránku přepnout do CatalogDisplayMode režimu katalogu a zobrazí se uživatelské rozhraní katalogu. Uživatelské rozhraní pro katalog webových částí je poskytováno ovládacím CatalogZoneBase prvku zóny. Vývojáři přidají tuto zónu na stránku v době návrhu a pak do této zóny přidají serverové ovládací prvky, aby uživatelé mohli tyto ovládací prvky přidávat na své stránky za běhu. Po přidání těchto ovládacích prvků se režim katalogu stane podporovaným režimem zobrazení na stránce, protože jsou k dispozici potřebné ovládací prvky pro povolení režimu katalogu.
Když uživatel přepne stránku do režimu katalogu, zóna a všechny ovládací prvky serveru, které do ní byly přidány, se stanou viditelnými a uživatel může vybrat ovládací prvky z katalogu a přidat je na stránku nebo odebrat ovládací prvky ze stránky. Po přidání ovládacích prvků na stránku se zobrazí v normálním režimu procházení a stránka se aktualizuje.