ASP.NET 2.0 - Navigation (Navigation)

ASP.NET 2.0 har indbyggede navigationskontroller.

Stedets navigation

Det er svært og tidskrævende at vedligeholde navigationsmenuer på store steder.

I ASP.NET 2.0 kan menuer gemmes i filer, hvilket gør vedligeholdelsen mere bekvem. Denne fil kaldes ofte web.sitemaper gemt i stedets rodmappe.

Derudover har ASP.NET 2.0 tre nye navigationskontroller:

  • Dynamiske menuer
  • TreeViews
  • Stedets kortsti

Sitemap-fil

Denne vejledning bruger følgende sitemap-fil (stedets kort):

<?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 for oprettelse af sitemap-filen:

  • XML-filen skal indeholde omgivet indhold med <siteMap>-etiketten
  • <siteMap>-etiketten kan kun have én <siteMapNode>-underetiket ("hjemmeside")
  • Hver <siteMapNode> kan have flere underpunkter (web-sider)
  • Hver <siteMapNode> har egenskaber til at definere sidetitlen og URL'en

Bemærk:sitemap-filen skal opbevares i stedets rodmappe, URL-attributten skal være relativ til denne rodmappe.

Dynamic Menu

<asp:Menu>-kontrollen kan vise en standard stedets navigationsmenu.

Kodeeksempel:

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

I eksemplet ovenfor <asp:Menu> KontrolEr en placeholder, der bruges af serveren til at oprette navigationsmenuer.

Kontrolens datakilde er DataSourceId Egenskabdefineret.id="nav1" kobles til <asp:SiteMapDataSource> Kontrol.

<asp:SiteMapDataSource> Kontrolkobler automatisk til standard sitemap-filen (web.sitemap)

Klik her for at se Menu DEMO.

TreeView

<asp:TreeView> Kontrol kan vise flere niveauers navigationsmenuer.

Denne menu ser ud som et træ med grene, og kan åbnes eller lukkes ved at bruge + eller - symboler.

Kodeeksempel:

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

I ovenstående eksempel <asp:TreeView> KontrolEr en placeholder, der bruges af serveren til at oprette navigationsmenuer.

Kontrolens datakilde er DataSourceId Egenskabdefineret.id="nav1" kobles til <asp:SiteMapDataSource> Kontrol.

<asp:SiteMapDataSource> Kontrolkobler automatisk til standard sitemap-filen (web.sitemap)

Klik her for at se TreeView DEMO.

SiteMapPath

SiteMapPath-kontrol kan vise en peger på den aktuelle side (navigationssti). Denne sti vises som en klikbar henvisning til overliggende sider.

Forskellig fra TreeView og Menu-kontrol, SiteMapPath-kontrolIkke brug SiteMapDataSource. SiteMapPath-kontrol bruger som standard web.sitemap-filen.

Tip:Hvis SiteMapPath ikke vises korrekt, er det sandsynligvis på grund af URL-fejl i web.sitemap-filen.

Kodeeksempel:

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

I ovenstående eksempel <asp:SiteMapPath> KontrolEr en placeholder, der bruges af serveren til at oprette navigationsmenuer.

Klik her for at se DEMO af SiteMapPath.