(0) exportieren Drucken
Alle erweitern

Gewusst wie: Anzeigen von Siteübersichtsdaten in nicht hierarchischen Webserversteuerelementen

Siteübersichtsdaten weisen naturgemäß eine hierarchische Struktur auf. Demnach kann jeder Knoten 0 (null) oder mehr untergeordnete Knoten enthalten. Das TreeView-Steuerelement und das Menu-Steuerelement wurden für die Arbeit mit hierarchischen Daten konzipiert. Sie können jedoch Siteübersichtsdaten auch an nicht hierarchische Steuerelemente binden, wie etwa das DropDownList-Steuerelement, das CheckBoxList-Steuerelement und andere Steuerelemente, die Daten linear oder in einem flachen Format anzeigen.

NoteHinweis

Nur das SiteMapPath-Steuerelement und Steuerelemente, die die INavigateUIData-Schnittstelle unterstützen, rendern Siteübersichtsknoten als Links.

Beispiel

Im folgenden Codebeispiel werden die Siteübersichtsdaten aus der Datei Web.sitemap mithilfe eines DropDownList-Steuerelements angezeigt.

Wenn ein Client ein Element aus der Dropdownliste auswählt, wird der Browser auf die gewählte Seite umgeleitet. Dies geschieht durch Aufruf der Redirect-Methode im OnSelectedIndexChanged-Ereignishandler.

Wenn dieses Codebeispiel in eine Masterseite eingefügt wird, wird mittels der StartFromCurrentNode-Eigenschaft des SiteMapDataSource-Steuerelements gewährleistet, dass die Dropdownliste immer eine Siteübersicht anzeigt, die mit der aktuell ausgeführten Seite beginnt.

<%@ Page Language="C#" AutoEventWireup="true" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<script runat="server">
  void _OnSelectedIndexChanged(Object sender, EventArgs e)
  { 
    Response.Redirect(DropDownList1.SelectedItem.Value);
  }
</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>DropDownList Bound to SiteMapDataSource</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
      <asp:SiteMapDataSource ID="SiteMapDataSource1" Runat="Server"
          StartFromCurrentNode="true"
          ShowStartingNode="false" />
      <asp:DropDownList ID="DropDownList1" Runat="Server" 
          DataSourceID="SiteMapDataSource1"
          AutoPostBack="True" 
          DataTextField="Title" 
          DataValueField="Url"
          OnSelectedIndexChanged="_OnSelectedIndexChanged" >
      </asp:DropDownList>
    </div>
    </form>
</body>
</html>

Wenn die Seite keine untergeordneten Knoten enthält, bleibt die Dropdownliste leer. Wenn der Client ein Element auswählt, für das in der Datei Web.sitemap keine URL-Eigenschaft festgelegt ist, wird der Client auf die Startseite der Anwendung umgeleitet.

Kompilieren des Codes

  • Für dieses Beispiel ist eine gültige Web.sitemap-Datei erforderlich, die auf die das Codebeispiel enthaltende ASP.NET-Webseite verweist. Wenn Sie diesen Beispielcode in eine Datei einfügen, die nicht in einem der Knoten der Datei Web.sitemap aufgeführt ist, entfernen Sie die folgende Eigenschaft aus dem Steuerelement:

    StartFromCurrentNode="true"
    

Siehe auch

Microsoft führt eine Onlineumfrage durch, um Ihre Meinung zur MSDN-Website zu erfahren. Wenn Sie sich zur Teilnahme entscheiden, wird Ihnen die Onlineumfrage angezeigt, sobald Sie die MSDN-Website verlassen.

Möchten Sie an der Umfrage teilnehmen?
Anzeigen:
© 2014 Microsoft