ASP.NET Tutorial/Development/SiteMapDataSource

Материал из .Net Framework эксперт
Версия от 14:56, 26 мая 2010; Admin (обсуждение | вклад) (1 версия)
(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к: навигация, поиск

Hiding the starting node.

   <source lang="csharp">

<%@ Page Language="C#" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" > <head id="Head1" runat="server">

   <style type="text/css">
       .productList li
       {
           margin:5px;
       }
   </style>
   <title>Our Products</title>

</head> <body>

   <form id="form1" runat="server">

Products

   <asp:BulletedList
       id="bltProducts"
       DisplayMode="HyperLink"
       DataTextField="Title"
       DataValueField="Url"
       DataSourceID="srcSiteMap"
       CssClass="productList"
       Runat="server" />
   <asp:SiteMapDataSource
       id="srcSiteMap"
       ShowStartingNode="false"
       StartFromCurrentNode="true"
       Runat="server" />
   </form>

</body> </html>

File: Web.sitemap

<siteMap xmlns="http://schemas.microsoft.ru/AspNet/SiteMap-File-1.0" > <siteMapNode

 url="Default.aspx"
 title="Home"
 description="The Home Page">
 <siteMapNode
   url="Default1.aspx"
   title="Our Products"
   description="Products that we offer">
   <siteMapNode
     url="FirstProduct.aspx"
     title="First Product"
     description="The description of the First Product" />
   <siteMapNode
     url="SecondProduct.aspx"
     title="Second Product"
     description="The description of the Second Product" />
 </siteMapNode>
 <siteMapNode
   url="Default2.aspx"
   title="Our Services"
   description="Services that we offer">
   <siteMapNode
     url="FirstService.aspx"
     title="First Service"
     description="The description of the First Service"
     metaDescription="The first service" />
   <siteMapNode
     url="SecondService.aspx"
     title="Second Service"
     description="The description of the Second Service" />
 </siteMapNode>

</siteMapNode> </siteMap></source>


Setting SiteMapDataSource Properties

   <source lang="csharp">

ShowStartingNode enables you to hide the starting node. StartFromCurrentNode enables you to return all nodes starting from the current node. StartingNodeOffset enables you to specify a positive or negative offset from the current node. StartingNodeUrl enables you to return all nodes, starting at a node associated with a specified URL. <%@ Page Language="C#" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" > <head id="Head1" runat="server">

   <style type="text/css">
       .menuItem
       {
           border:solid 1px black;
           background-color:#eeeeee;
           padding:4px;
           margin:1px 0px;
       }
   </style>
   <title>Our Services</title>

</head> <body>

   <form id="form1" runat="server">
   <asp:SiteMapPath
       id="SiteMapPath1"
       Runat="server" />

   <asp:Menu
       id="Menu1"
       DataSourceID="srcSiteMap"
       StaticMenuItemStyle-CssClass="menuItem"
       DynamicMenuItemStyle-CssClass="menuItem"
       Runat="server" />
   <asp:SiteMapDataSource
       id="srcSiteMap"
       ShowStartingNode="false"
       Runat="server" />
   </form>

</body> </html> File: Web.sitemap

<siteMap xmlns="http://schemas.microsoft.ru/AspNet/SiteMap-File-1.0" > <siteMapNode

 url="Default.aspx"
 title="Home"
 description="The Home Page">
 <siteMapNode
   url="Default1.aspx"
   title="Our Products"
   description="Products that we offer">
   <siteMapNode
     url="FirstProduct.aspx"
     title="First Product"
     description="The description of the First Product" />
   <siteMapNode
     url="SecondProduct.aspx"
     title="Second Product"
     description="The description of the Second Product" />
 </siteMapNode>
 <siteMapNode
   url="Default2.aspx"
   title="Our Services"
   description="Services that we offer">
   <siteMapNode
     url="FirstService.aspx"
     title="First Service"
     description="The description of the First Service"
     metaDescription="The first service" />
   <siteMapNode
     url="SecondService.aspx"
     title="Second Service"
     description="The description of the Second Service" />
 </siteMapNode>

</siteMapNode> </siteMap></source>


SiteMapDataSource representd a Site Map declaratively in a page

   <source lang="csharp">

You can bind navigation controls such as the TreeView and Menu controls to a SiteMapDataSource control. You can bind GridView or DropDownList control to a SiteMapDataSource control. File: Web.sitemap <siteMap xmlns="http://schemas.microsoft.ru/AspNet/SiteMap-File-1.0" > <siteMapNode

 url="Default.aspx"
 title="Home"
 description="The Home Page">
 <siteMapNode
   url="Default1.aspx"
   title="Our Products"
   description="Products that we offer">
   <siteMapNode
     url="FirstProduct.aspx"
     title="First Product"
     description="The description of the First Product" />
   <siteMapNode
     url="SecondProduct.aspx"
     title="Second Product"
     description="The description of the Second Product" />
 </siteMapNode>
 <siteMapNode
   url="Default2.aspx"
   title="Our Services"
   description="Services that we offer">
   <siteMapNode
     url="FirstService.aspx"
     title="First Service"
     description="The description of the First Service"
     metaDescription="The first service" />
   <siteMapNode
     url="SecondService.aspx"
     title="Second Service"
     description="The description of the Second Service" />
 </siteMapNode>

</siteMapNode> </siteMap>

The Site Map file represents a website with the following folder and page structure: Default.aspx Products

   FirstProduct.aspx
   SecondProduct.aspx

Services

   FirstService.aspx
   SecondService.aspx

File: Default.aspx <%@ Page Language="C#" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" > <head id="Head1" runat="server">

   <title>Home</title>

</head> <body>

   <form id="form1" runat="server">
   <asp:SiteMapPath
       id="SiteMapPath1"
       Runat="server" />

   <asp:TreeView
       id="TreeView1"
       DataSourceID="srcSiteMap"
       Runat="server"  />
   <asp:SiteMapDataSource
       id="srcSiteMap"
       Runat="server" />
   </form>

</body> </html></source>