Freigeben über


WebPartManager.CatalogDisplayMode Feld

Definition

Stellt den Anzeigemodus dar, der zum Hinzufügen von Serversteuerelementen aus einem Katalog von Steuerelementen zu einer Webseite verwendet wird. Dieses Feld ist schreibgeschützt.

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 

Feldwert

Beispiele

Im folgenden Codebeispiel wird veranschaulicht, wie sie programmgesteuert mit dem CatalogDisplayMode Feld arbeiten. Der Code füllt eine Dropdownliste mit den unterstützten Anzeigemodi für die Seite auf, die in diesem Fall durchsuchen, entwerfen und katalogieren. Der Katalogmodus ist aufgrund des <asp:CatalogZone> Elements und seiner untergeordneten Elemente auf der Webseite verfügbar. Beachten Sie, dass der Code in der Page_PreRender Methode überprüft, ob die aktuelle DisplayMode Eigenschaft auf CatalogDisplayMode. Wenn ja, Label1 wird angezeigt, und wenn nicht, Label1 wird sie ausgeblendet.

<%@ 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>

Nachdem Sie die Seite in einem Browser geladen haben, befinden Sie sich standardmäßig im Suchmodus. Beachten Sie, dass die Beschriftung auf der Seite ausgeblendet ist. Verwenden Sie das Dropdownlistensteuerelement, um die Seite in den Katalogmodus zu wechseln. Beachten Sie, dass die Bezeichnung aufgrund des Codes in der Page_PreRender Methode jetzt sichtbar ist. Sie können das Steuerelement im Katalog auswählen und zu einer der beiden Zonen auf der Seite hinzufügen.

Hinweise

Das CatalogDisplayMode Feld verweist auf ein benutzerdefiniertes WebPartDisplayMode Objekt, das vom WebPartManager Steuerelement erstellt und enthalten ist. Da es sich um ein statisches Objekt handelt, können Sie direkt über die WebPartManager Klasse darauf verweisen, ohne dass eine Instanz des Steuerelements erforderlich ist.

Wenn Benutzer einer Seite Steuerelemente hinzufügen möchten, wenn ein Katalog von Serversteuerelementen verfügbar ist, können sie zur Seite CatalogDisplayMode wechseln (Katalogmodus), und die Katalog-Benutzeroberfläche wird angezeigt. Die Benutzeroberfläche für einen Webpartkatalog wird von einem CatalogZoneBase Zonensteuerelement bereitgestellt. Entwickler fügen diese Zone zur Entwurfszeit der Seite hinzu, und fügen sie dann der Zone Serversteuerelemente hinzu, sodass Benutzer diese Steuerelemente zur Laufzeit zu ihren Seiten hinzufügen können. Nachdem der Entwickler diese Steuerelemente hinzugefügt hat, wird der Katalogmodus zu einem unterstützten Anzeigemodus auf der Seite, da die erforderlichen Steuerelemente vorhanden sind, um den Katalogmodus zu aktivieren.

Wenn ein Benutzer eine Seite in den Katalogmodus wechselt, werden die Zone und alle Serversteuerelemente, die ihr hinzugefügt wurden, sichtbar, und der Benutzer kann Steuerelemente aus dem Katalog auswählen, um der Seite hinzuzufügen, oder Steuerelemente von der Seite entfernen. Nachdem die Steuerelemente der Seite hinzugefügt wurden, werden sie im normalen Suchmodus angezeigt, und die Seite wird aktualisiert.

Gilt für:

Weitere Informationen