HOW TO:實作 ASP.NET 網站導覽提供者
更新:2007 年 11 月
這個主題描述如何建置 (Build) ASP.NET 網站導覽提供者,並設定 ASP.NET 應用程式來使用網站導覽提供者。
下表列出隨附的主題,其中包含以 Visual Basic 和 C# 撰寫的兩個範例網站導覽提供者。其中一個範例提供者使用 .NET Framework Data Provider for ODBC 來連接到 ODBC 資料來源。另一個範例會將 Microsoft Access 資料庫當做其資料來源。
說明完整的文字架構網站導覽提供者。 |
|
說明完整的 Access 架構網站導覽提供者。 |
建置網站導覽提供者
將原始程式碼放在應用程式的 App_Code 目錄中。
注意事項: 如果應用程式的 App_Code 目錄中已經有原始程式碼存在,則必須加入使用和目錄中現有程式碼相同的語言所撰寫的網站導覽提供者版本。
當有人要求您的應用程式時,ASP.NET 會編譯這個提供者 (Provider)。如需詳細資訊,請參閱ASP.NET 網站中的共用程式碼資料夾。
-或-
此外,您也可以將網站導覽提供者編譯為程式庫,並且放在 Web 應用程式的 Bin 目錄,或以強式名稱的方式命名並放在全域組件快取 (GAC) 中。例如,下列命令顯示如何使用命令列編譯器來編譯範例網站導覽提供者。
vbc /out:<example_name>.dll /t:library <example_name>.vb /r:System.Web.dll /r:System.Configuration.dll
csc /out:<example_name>.dll /t:library <example_name>.cs /r:System.Web.dll /r:System.Configuration.dll
在 ASP.NET 應用程式中使用網站導覽提供者
設定 Web 應用程式來使用網站導覽提供者,方法為將提供者加入至 Web.config 檔案。
加入使用網站導覽提供者的控制項。改變 Web.config 檔並編譯提供者後,提供者會將巡覽資料載入至記憶體中 SiteMap 類別的執行個體。網站導覽基礎結構的元件 (如 SiteMapPath、TreeView 和 Menu 控制項) 現在可使用巡覽資料向使用者顯示網站導覽資訊。下列範例程式碼會在 ASP.NET 頁面中使用所有這三種控制項。
<%@ Page Language="VB" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <script > </script> <html xmlns="http://www.w3.org/1999/xhtml" > <head id="Head1" > <title>Simple Navigation Controls</title> </head> <body> <form id="form1" > <div> <h2>Using SiteMapPath</h2> <asp:SiteMapPath ID="SiteMapPath1" Runat="server"> </asp:SiteMapPath> <asp:SiteMapDataSource ID="SiteMapDataSource1" Runat="server" /> <h2>Using TreeView</h2> <asp:TreeView ID="TreeView1" Runat="Server" DataSourceID="SiteMapDataSource1"> </asp:TreeView> <h2>Using Menu</h2> <asp:Menu ID="Menu2" Runat="server" DataSourceID="SiteMapDataSource1"> </asp:Menu> <h2>Using a Horizontal Menu</h2> <asp:Menu ID="Menu1" Runat="server" DataSourceID="SiteMapDataSource1" Orientation="Horizontal" StaticDisplayLevels="2" > </asp:Menu> </div> </form> </body> </html>
<%@ Page Language="C#" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <script > </script> <html xmlns="http://www.w3.org/1999/xhtml" > <head > <title>Simple Navigation Controls</title> </head> <body> <form id="form1" > <div> <h2>Using SiteMapPath</h2> <asp:SiteMapPath ID="SiteMapPath1" Runat="server"> </asp:SiteMapPath> <asp:SiteMapDataSource ID="SiteMapDataSource1" Runat="server" /> <h2>Using TreeView</h2> <asp:TreeView ID="TreeView1" Runat="Server" DataSourceID="SiteMapDataSource1"> </asp:TreeView> <h2>Using Menu</h2> <asp:Menu ID="Menu2" Runat="server" DataSourceID="SiteMapDataSource1"> </asp:Menu> <h2>Using a Horizontal Menu</h2> <asp:Menu ID="Menu1" Runat="server" DataSourceID="SiteMapDataSource1" Orientation="Horizontal" StaticDisplayLevels="2" > </asp:Menu> </div> </form> </body> </html>