Практическое руководство. Реализация поставщиков карт веб-узла ASP.NET
Обновлен: Ноябрь 2007
В этом разделе описывается порядок построения поставщика карты веб-узла ASP.NET и настройки приложения ASP.NET для его использования.
В следующей таблице приводится список сопутствующих разделов, в которых представлены два примера поставщиков карты веб-узла на языках Visual Basic и C#. В одном примере для подключения к источнику данных ODBC используется поставщик данных платформы .NET Framework для ODBC. Во втором примере в качестве источника используется база данных Microsoft Access.
Полнофункциональный текстовый поставщик карты веб-узла. |
|
Полнофункциональный поставщик карты веб-узла на базе Access. |
Построение поставщика карты узла
Поместите исходный код в каталог App_Code приложения.
Примечание.
Если в каталоге App_Code приложения уже содержится исходный код, следует добавить версию поставщика карты узла на том же языке, на котором написан существующий код.
Компиляция поставщика осуществляется средствами ASP.NET при вызове приложения. Дополнительные сведения см. в разделе Общие папки кода на веб-узлах ASP.NET.
— или —
Также можно скомпилировать поставщик карты веб-узла в виде библиотеки, которую следует поместить в каталог Bin веб-приложения. Кроме того, можно присвоить этой библиотеке строгое имя и поместить ее в глобальный кэш сборок. В следующем примере показан порядок компиляции примера поставщика с помощью компилятора командной строки.
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.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 runat="server"> </script> <html xmlns="http://www.w3.org/1999/xhtml" > <head id="Head1" runat="server"> <title>Simple Navigation Controls</title> </head> <body> <form id="form1" runat="server"> <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 runat="server"> </script> <html xmlns="http://www.w3.org/1999/xhtml" > <head runat="server"> <title>Simple Navigation Controls</title> </head> <body> <form id="form1" runat="server"> <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>
См. также
Основные понятия
Реализация поставщиков карт веб-узлов ASP.NET
Общие сведения об структуре переходов веб-узла ASP.NET
Безопасность системы навигации веб-узла ASP.NET