ASP.NET 2.0 - Nawigacja (Navigation)

ASP.NET 2.0 ma wbudowane kontrolki nawigacyjne.

Nawigacja na stronie

Utrzymanie nawigacji w dużych stronach internetowych jest trudne i czasochłonne.

W ASP.NET 2.0, menu może być przechowywane w pliku, co ułatwia jego utrzymanie. Nazwa tego pliku jest zazwyczaj: web.sitemap, umieszczone w katalogu głównym strony.

Oprócz tego, ASP.NET 2.0 ma trzy nowe kontrolki nawigacyjne:

  • Dynamiczne menu
  • TreeViews
  • Ścieżka mapy strony

Plik sitemap

Ta instrukcja używa poniższego pliku sitemap (mapa strony):

<?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>

Zasady tworzenia pliku sitemap:

  • Plik XML musi zawierać znaczniki <siteMap> otaczające zawartość
  • Znacznik <siteMap> może mieć tylko jeden podnode <siteMapNode> (strona "home")
  • Każdy <siteMapNode> może mieć wiele podnodesów (strony internetowe)
  • Każdy <siteMapNode> ma atrybuty do definiowania tytułu strony i URL.

Uwaga:Plik sitemap musi być umieszczony w katalogu głównym strony, a atrybut URL musi być względny do tego katalogu.

Dynamiczne menu

Kontrolka <asp:Menu> może wyświetlać standardową nawigację strony.

Przykład kodu:

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

W powyższym przykładzie <asp:Menu> kontrolkaJest to占位符 do tworzenia menu nawigacyjnego na serwerze.

Dane kontrolki są dostarczane przez Atrybut DataSourceIddo zdefiniowania.id="nav1" Połącz go z Kontrola <asp:SiteMapDataSource>.

Kontrola <asp:SiteMapDataSource>Automatycznie łączy się z domyślnym plikiem sitemap (web.sitemap)。

Kliknij tutaj, aby zobaczyć DEMO Menu.

TreeView

Kontrola <asp:TreeView> może wyświetlać wielopoziomowe menu nawigacyjne.

Ten rodzaj menu wygląda jak drzewo z gałęziami, które można otworzyć lub zamknąć za pomocą symboli + lub -.

Przykład kodu:

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

W przykładzie powyżej Kontrola <asp:TreeView>Jest to占位符 do tworzenia menu nawigacyjnego na serwerze.

Dane kontrolki są dostarczane przez Atrybut DataSourceIddo zdefiniowania.id="nav1" Połącz go z Kontrola <asp:SiteMapDataSource>.

Kontrola <asp:SiteMapDataSource>Automatycznie łączy się z domyślnym plikiem sitemap (web.sitemap)。

Kliknij tutaj, aby zobaczyć DEMO TreeView.

SiteMapPath

Kontrolka SiteMapPath może wyświetlać wskaźnik do bieżącej strony (ścieżka nawigacyjna). Ta ścieżka jest wyświetlana jako klikalne linki do poprzednich stron.

W przeciwieństwie do kontrolki TreeView i Menu, kontrolka SiteMapPathBez użycia Kontrola SiteMapDataSource używa domyślnego pliku web.sitemap.

Wskazówka:Jeśli SiteMapPath nie jest wyświetlony poprawnie, prawdopodobnie jest to spowodowane błędem URL w pliku web.sitemap.

Przykład kodu:

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

W przykładzie powyżej Kontrola <asp:SiteMapPath>Jest to占位符 do tworzenia menu nawigacyjnego na serwerze.

Kliknij tutaj, aby zobaczyć DEMO SiteMapPath.