ASP.NET 2.0 - Navigering (Navigation)

ASP.NET 2.0 har inbyggda navigationskontroller.

Webbplatsnavigering

Det är svårt och tidskrävande att underhålla navigationsmenyer för stora webbplatser.

I ASP.NET 2.0 kan menyer lagras i filer, vilket gör underhållet mer bekvämt. Denna fil kallas vanligtvis web.sitemapsparas i webbplatsens rotkatalog.

Dessutom har ASP.NET 2.0 tre nya navigationskontroller:

  • Dynamiska menyer
  • TreeViews
  • Site Map Path

Sitemap-fil

Denna handledning använder följande sitemap-fil (site map):

<?xml version="1.0" encoding="ISO-8859-1" ?>
<siteMap>
  <siteMapNode title="Home" url="/aspnet/w3home.aspx">
  <siteMapNode title="Services" url="/aspnet/w3services.aspx">
    <siteMapNode title="Training" url="/aspnet/w3training.aspx"/>
    <siteMapNode title="Support" url="/aspnet/w3support.aspx"/>
  </siteMapNode>
  </siteMapNode>
</siteMap>

Regler för att skapa sitemap-filer:

  • XML-filen måste innehålla omgivande <siteMap>-etiketter
  • Etiketten <siteMap> kan bara ha en <siteMapNode>-undernod ("hem"-sida)
  • Varje <siteMapNode> kan ha flera undernoder (webbsidor)
  • Varje <siteMapNode> har egenskaper för att definiera sidtitel och URL

Kommentar:sitemap-filen måste lagras i webbplatsens rotkatalog, URL-egenskapen måste vara relativ till denna rotkatalog.

Dynamisk meny

<asp:Menu>-kontrollen kan visa en standardplatsnavigationsmeny.

Kodexempel:

<asp:SiteMapDataSource id="nav1" runat="server" />
<form runat="server">
<asp:Menu runat="server" DataSourceId="nav1" />
</form>

I ovanstående exempel <asp:Menu> 控件Det är en placeholder för att skapa en navigationsmeny på servern.

Kontrollens datakälla är DataSourceId-attributför att definiera.id="nav1" Anslut till 控件 <asp:SiteMapDataSource>.

控件 <asp:SiteMapDataSource>ansluter automatiskt till den förinställda sitemap-filen (web.sitemap)

Klicka här för att se DEMO av Menu.

TreeView

控件 <asp:TreeView> kan visa en flergradig navigationsmeny.

Denna meny ser ut som ett träd med grenar och kan öppnas eller stängas med + eller - tecken.

Kodexempel:

<asp:SiteMapDataSource id="nav1" runat="server" />
<form runat="server">
<asp:TreeView runat="server" DataSourceId="nav1" />
</form>

I föregående exempel 控件 <asp:TreeView>Det är en placeholder för att skapa en navigationsmeny på servern.

Kontrollens datakälla är DataSourceId-attributför att definiera.id="nav1" Anslut till 控件 <asp:SiteMapDataSource>.

控件 <asp:SiteMapDataSource>ansluter automatiskt till den förinställda sitemap-filen (web.sitemap)

Klicka här för att se DEMO av TreeView.

SiteMapPath

SiteMapPath-kontrollen kan visa en pekpinnare till den aktuella sidan (navigationsväg). Denna väg visas som en klickbar länk till övre sidan.

Skillnad från TreeView och Menu-kontroller, SiteMapPath-kontrollenAnvänd inte SiteMapDataSource. SiteMapPath-kontrollen använder som standard web.sitemap-filen.

Tips:Om SiteMapPath inte visas korrekt är det troligtvis på grund av URL-fel i web.sitemap-filen.

Kodexempel:

<form runat="server">
<asp:SiteMapPath runat="server" />
</form>

I föregående exempel 控件 <asp:SiteMapPath>Det är en placeholder för att skapa en navigationsmeny på servern.

Klicka här för att se DEMO av SiteMapPath.