WebPartManager.CatalogDisplayMode Fält
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
Representerar visningsläget som används för att lägga till serverkontroller från en katalog med kontroller på en webbsida. Detta fält är skrivskyddat.
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
Fältvärde
Exempel
Följande kodexempel visar hur du arbetar med fältet CatalogDisplayMode programmatiskt. Koden fyller i en listruta med de visningslägen som stöds för sidan, som i det här fallet är bläddra, design och katalog. Katalogläget är tillgängligt på grund av elementet <asp:CatalogZone> och dess underordnade element på webbsidan. Observera att koden i Page_PreRender metoden kontrollerar om den aktuella DisplayMode egenskapen är inställd på CatalogDisplayMode. I så fall Label1 visas, och om inte, Label1 kommer att döljas.
<%@ 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>
När du har läst in sidan i en webbläsare är du i bläddra-läge som standard. Observera att etiketten på sidan är dold. Använd listrutan för att växla sidan till katalogläge. Observera att etiketten nu är synlig på grund av koden i Page_PreRender metoden. Du kan välja kontrollen i katalogen och lägga till den i någon av de två zonerna på sidan.
Kommentarer
Fältet CatalogDisplayMode refererar till ett anpassat WebPartDisplayMode objekt som skapas och finns i WebPartManager kontrollen. Eftersom det här är ett statiskt objekt kan du referera till det direkt via WebPartManager klassen utan att behöva en instans av kontrollen.
När användare vill lägga till kontroller på en sida, om en katalog med serverkontroller är tillgänglig, kan de växla sidan till CatalogDisplayMode (katalogläge) och kataloganvändargränssnittet (UI) visas. Användargränssnittet för en webbdelskatalog tillhandahålls av en CatalogZoneBase zonkontroll. Utvecklare lägger till den här zonen på sidan vid designtillfället och lägger sedan till serverkontroller i zonen, så att användarna kan lägga till dessa kontroller på sina sidor vid körning. När utvecklaren har lagt till dessa kontroller blir katalogläget ett visningsläge som stöds på sidan eftersom de nödvändiga kontrollerna finns där för att aktivera katalogläge.
När en användare växlar en sida till katalogläge blir zonen och alla serverkontroller som lagts till i den synliga, och användaren kan välja kontroller från katalogen som ska läggas till på sidan eller ta bort kontroller från sidan. När kontrollerna har lagts till på sidan visas de i normalt sökläge och sidan uppdateras.