国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 學(xué)院 > 開(kāi)發(fā)設(shè)計(jì) > 正文

ASP.NET 2.0站點(diǎn)地圖搭建網(wǎng)站導(dǎo)航結(jié)構(gòu)

2019-11-18 17:08:07
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友
  如果你曾經(jīng)到過(guò)陌生的目的地旅行過(guò),那么你一定知道地圖的重要性—它們能夠幫助使你的旅行更舒適些。這個(gè)道理對(duì)于網(wǎng)站來(lái)說(shuō)是同樣的。一個(gè)網(wǎng)站應(yīng)該呈現(xiàn)給訪問(wèn)者一種簡(jiǎn)單而靈活的導(dǎo)航結(jié)構(gòu)以便它們能夠容易地導(dǎo)航到該網(wǎng)站的不同部分。asp.net 2.0提供了一種稱(chēng)為SiteMap的特征—它幫助你實(shí)現(xiàn)這一功能。本文將解釋什么是站點(diǎn)地圖并且描述如何開(kāi)發(fā)使用它們的網(wǎng)站導(dǎo)航結(jié)構(gòu)。

  一、 SiteMap

  一個(gè)站點(diǎn)地圖是一個(gè)xml文件(具有一個(gè).sitemap擴(kuò)展名)—它能夠詳細(xì)地描述你的網(wǎng)站的整個(gè)導(dǎo)航布局。你可以使用站點(diǎn)地圖文件來(lái)滿足你的一切要求。

  一個(gè)示例將有助于解釋站點(diǎn)地圖文件。圖1顯示了一個(gè)示例網(wǎng)站的目錄結(jié)構(gòu)。


圖1:網(wǎng)站結(jié)構(gòu)

  圖中,首頁(yè)(Default.aspx)和Contact Us頁(yè)面(contact.aspx)位于網(wǎng)站的根文件夾下。還有兩個(gè)分別稱(chēng)為PRoducts和Services的子文件夾。每一個(gè)子文件夾下都有兩個(gè)Web表單:分別相應(yīng)于Product1.aspx和Product2.aspx,以及Service1.aspx和Service2.aspx。

  現(xiàn)在,只要遵循如下的步驟,你就可以使用一個(gè)站點(diǎn)地圖來(lái)描述這個(gè)網(wǎng)站的結(jié)構(gòu):

  1. 使用VS.NET 2005創(chuàng)建一個(gè)新網(wǎng)站。

  2. 右擊該網(wǎng)站并且選擇“Add New Item...”。

  3. 從“Add New Item...”對(duì)話框中選擇Site Map(見(jiàn)圖2)并且命名它為Web.sitemap。


圖2:添加一個(gè)新的站點(diǎn)地圖

  Key in the following XML markup in the web.sitemap file:

<?xml version="1.0" encoding="utf-8" ?>
<siteMap xmlns="http://schemas.microsoft.com/AspNet/SiteMap-File-1.0" >
<siteMapNode url="default.aspx" title="Home" descr <siteMapNode url="~/products/default.aspx" title="Products">
 <siteMapNode url="~/products/product1.aspx" title="First Product" />
 <siteMapNode url="~/products/product2.aspx" title="Second Product" />
</siteMapNode>
<siteMapNode url="~/services/default.aspx" title="Services">
 <siteMapNode url="~/services/service1.aspx" title="First Service" />
 <siteMapNode url="~/services/service2.aspx" title="Second Service" />
</siteMapNode>
<siteMapNode url="contact.aspx" title="Contact Us" />
</siteMapNode>
</siteMap>

  站點(diǎn)地圖文件的根是siteMap。它包含一個(gè)結(jié)點(diǎn)siteMapNode,并且根據(jù)你的網(wǎng)站結(jié)構(gòu),它可以包含若干siteMapNode結(jié)點(diǎn)。

  這個(gè)siteMapNode標(biāo)簽具有四個(gè)重要的屬性(參見(jiàn)表格1)。

屬性描述
title顯示頁(yè)面的標(biāo)題。這個(gè)屬性經(jīng)常由導(dǎo)航控件用于顯示URL的標(biāo)題。
url 顯示這個(gè)結(jié)點(diǎn)描述的頁(yè)面的 URL。
description 指定關(guān)于這個(gè)頁(yè)面的描述。你可以使用這個(gè)描述來(lái)顯示提示內(nèi)容。
roles 通過(guò)使用安全整修(后面將討論),這個(gè)屬性指定允許存取這個(gè)頁(yè)面的角色。
    表格1:<siteMapNode>標(biāo)簽的重要屬性

  這就構(gòu)成了你的站點(diǎn)地圖。現(xiàn)在你可以把使用它作為導(dǎo)航目的。
  二、 使用SiteMap的方式

  你可以以三種常見(jiàn)方式來(lái)使用在前一節(jié)所創(chuàng)建的站點(diǎn)地圖文件:

  · 使用SiteMapPath控件

  · 使用SiteMap數(shù)據(jù)源控件

  · 使用SiteMap類(lèi)

  這個(gè)SiteMapPath控件允許你生成breadcrumb。圖3顯示出什么是breadcrumb。


圖3:Breadcrumb導(dǎo)航

  SiteMapPath控件顯示各種層級(jí)的導(dǎo)航。例如,你可以點(diǎn)擊父或根級(jí)別以往回導(dǎo)航或轉(zhuǎn)到頂層。當(dāng)然,你也可以定制導(dǎo)航層次。

  ASP.NET 2.0中還帶有一組良好的導(dǎo)航控件,包括TreeView和菜單。借助于SiteMap數(shù)據(jù)源控件,你可以把站點(diǎn)地圖文件與這些控件綁定到一起。

  有些情況下,內(nèi)置的導(dǎo)航控件可能無(wú)法滿足你的要求。在這種情況中,你可以以編程方式存取這個(gè)站點(diǎn)地圖文件并且讀各種siteMapNode結(jié)點(diǎn)。然后,你可以生成一個(gè)定制的導(dǎo)航結(jié)構(gòu)—使用siteMapNode的title和URL屬性。

  三、 使用SiteMapPath控件

  在詳細(xì)討論細(xì)節(jié)前,讓我們首先創(chuàng)建我們需要的目錄結(jié)構(gòu)和Web表單。首先,把兩個(gè)文件夾Products和Services添加到網(wǎng)站。然后,添加一個(gè)新的Master頁(yè)面MasterPage.master。接著添加顯示在表格2中的Web表單,并且確保當(dāng)你添加它們時(shí)都為其設(shè)置master頁(yè)面。

Web表單名文件夾
Default.aspxWebsite root
Contact.aspxWebsite root
Default.aspxProducts
Product1.aspxProducts
Product2.aspxProducts
Default.aspxServices
Service1.aspxServices
Service2.aspxServices
      表格2:Web表單列表

  現(xiàn)在,打開(kāi)你前面添加的Master頁(yè)面。把一個(gè)Label控件和一個(gè)SiteMapPath控件拖動(dòng)到它上面。然后,把該Label的Text屬性設(shè)置為“Welcome!”。

  下列的列表顯示了MasterPage.master頁(yè)面中的所有標(biāo)記:

<%@ Master Language="C#" AutoEventWireup="true"
CodeFile="MasterPage.master.cs" Inherits="MasterPage" %>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>Untitled Page</title>
</head>
<body>
 <form id="form1" runat="server">
  <div>
  <asp:Label ID="Label1" runat="server" Font-Size="XX-Large" ForeColor="Blue" Text="Welcome!"></asp:Label><br />
  <asp:SiteMapPath ID="SiteMapPath1" runat="server"
Font-Names="Verdana" Font-Size="0.8em" PathSeparator=" : ">
   <PathSeparatorStyle Font-Bold="True" ForeColor="#5D7B9D" />
   <CurrentNodeStyle ForeColor="#333333" />
   <NodeStyle Font-Bold="True" ForeColor="#7C6F57" />
   <RootNodeStyle Font-Bold="True" ForeColor="#5D7B9D" />
  </asp:SiteMapPath>
  <br />
  <br />
 <asp:contentplaceholder id="ContentPlaceHolder1" runat="server">
 </asp:contentplaceholder>
</div>
</form>
</body>
</html>

  現(xiàn)在,從根文件夾打開(kāi)Default.aspx。Default.aspx應(yīng)該看似圖4的樣子。


圖4:Default.aspx的示例運(yùn)行
  為了設(shè)計(jì)這個(gè)頁(yè)面,添加一個(gè)具有4行和1列的表格。拖動(dòng)一個(gè)Label控件到最上邊一行并且設(shè)置它的Text屬性為“歡迎來(lái)到我們的網(wǎng)站!”。然后,拖動(dòng)三個(gè)HyperLink控件到剩下的行上,并且設(shè)置它們的Text和NavigateUrl屬性,顯示于表格3中。

HyperLink IDText屬性NavigateUrl屬性
HyperLink1Products~/products/default.aspx
HyperLink2Services~/Services/default.aspx
HyperLink3Contact Us~/contact.aspx
      表格3:設(shè)置HyperLinks的屬性

  下面的列表顯示了Default.aspx中的完整標(biāo)記:

<%@ Page Language="C#" MasterPageFile="~/MasterPage.master"
AutoEventWireup="true" CodeFile="Default.aspx.cs"
Inherits="_Default" Title="Untitled Page" %>
<asp:Content ID="Content1"
ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server">
<center>
 <table>
  <tr>
   <td width="60%">
    <asp:Label ID="Label1" runat="server" Font-Size="X-Large"
Text="Welcome to our Web site!"></asp:Label></td>
  </tr>
  <tr>
   <td width="60%">
    <asp:HyperLink ID="HyperLink1" runat="server"
Font-Size="X-Large" NavigateUrl="~/Products/Default.aspx">Products
    </asp:HyperLink></td>
  </tr>
  <tr>
   <td width="60%">
    <asp:HyperLink ID="HyperLink2" runat="server" Font-Size="X-Large"
NavigateUrl="~/Services/Default.aspx">Services
    </asp:HyperLink></td>
  </tr>
  <tr>
   <td width="60%">
    <asp:HyperLink ID="HyperLink3" runat="server"
Font-Size="X-Large" NavigateUrl="~/Contact.aspx">Contact Us
    </asp:HyperLink></td>
  </tr>
 </table>
</center>
</asp:Content>

  現(xiàn)在,從Products文件夾下打開(kāi)Default.aspx并且按照?qǐng)D5所示來(lái)設(shè)計(jì)它。


圖5:Products文件夾的默認(rèn)頁(yè)面

  表格4列舉了在Web表單中所使用的所有超級(jí)鏈接。

HyperLink IDText屬性NavigateUrl屬性
HyperLink1First Product ~/products/product1.aspx
HyperLink2Second Product~/products/product2.aspx
     表格4:Products文件夾下Default頁(yè)面中的超級(jí)鏈接信息

  遵循同樣道理,從Services文件夾下設(shè)計(jì)Default.aspx,結(jié)果如圖6所示。


圖6.Services文件夾的默認(rèn)頁(yè)面

  表格5列舉出了使用于Web表單中的超級(jí)鏈接信息。

HyperLink IDText屬性NavigateUrl屬性
HyperLink1First Service ~/Services/service1.aspx
HyperLink2Second Service~/Services/service2.aspx
     表格5:Products文件夾下Default頁(yè)面中的超級(jí)鏈接信息

  最后,把一個(gè)標(biāo)簽添加到每一個(gè)其它Web表單并且按表格6所示設(shè)置它的Text屬性。

Web表單名Label的Text屬性
~/Contact.aspxContact Us
~/Products/Product1.aspxFirst Product Details
~/Products/Product2.aspxSecond Product Details
~/Services/Service1.aspx First Service Details
~/Services/Service2.aspxSecond Service Details
     表格6:從剩下的Web表單中設(shè)置Label的Text屬性

  現(xiàn)在,從根文件夾下運(yùn)行Default.aspx并且導(dǎo)航到Product1.aspx頁(yè)面。圖7顯示了Web表單的示例運(yùn)行情況。


圖7:Product1.aspx的示例運(yùn)行


  注意,web.sitemap文件的title和URL屬性是怎樣用于生成“breadcrumbs”的。另外,還要注意,父級(jí)是怎樣隨著當(dāng)前頁(yè)面標(biāo)題一起顯示的。試一試導(dǎo)航到各種頁(yè)面并觀察SiteMapPath控件。

  四、 使用SiteMap數(shù)據(jù)源控件

  站點(diǎn)地圖的使用并不僅限于SiteMapPath控件。你還可以把站點(diǎn)地圖依附到可導(dǎo)航控件(例如TreeView)上。在下列例子中,你將使用相同的站點(diǎn)地圖文件來(lái)實(shí)現(xiàn)與一個(gè)TreeView控件的綁定。

  把一個(gè)新的Web表單SiteMapDataSourceDemo.aspx添加到網(wǎng)站上。然后,把一個(gè)SiteMap數(shù)據(jù)源控件(SiteMapDataSource1)和一個(gè)TreeView控件(TreeView1)拖動(dòng)到表單上。把這個(gè)TreeView控件的DataSourceID屬性設(shè)置為SiteMapDataSource1。另外,還要把該TreeView控件的ShowLines屬性設(shè)置為true。下面是SiteMapDataSourceDemo.aspx頁(yè)面中的完整的標(biāo)記:

<%@ Page Language="C#" AutoEventWireup="true"
CodeFile="SiteMapDataSourceDemo.aspx.cs"
Inherits="SiteMapDataSourceDemo" %>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>Untitled Page</title>
</head>
<body>
 <form id="form1" runat="server">
  <asp:TreeView ID="TreeView1" runat="server" DataSourceID="SiteMapDataSource1"
ShowLines="True">
  </asp:TreeView>
  <asp:SiteMapDataSource ID="SiteMapDataSource1" runat="server" />
 </form>
</body>
</html>


  現(xiàn)在,運(yùn)行這個(gè)Web表單以觀察相同的導(dǎo)航結(jié)構(gòu)是怎樣被自動(dòng)生成到TreeView中的(見(jiàn)圖8)。


圖8:把網(wǎng)站地圖文件綁定到一個(gè)TreeView控件
 

  五、 使用SiteMap類(lèi)

  在SiteMapPath或TreeView控件中顯示站點(diǎn)地圖數(shù)據(jù)效果太好了。然而,有時(shí)你可能需要設(shè)計(jì)定制生成邏輯。例如,你可能想開(kāi)發(fā)一個(gè)定制的導(dǎo)航控件—它僅為了垂直地顯示其父級(jí)。在這樣的情況下,你需要以編程方式來(lái)存取這個(gè)站點(diǎn)地圖文件。SiteMap類(lèi)允許你準(zhǔn)確地實(shí)現(xiàn)這一點(diǎn)。

  這個(gè)SiteMap路徑具有兩個(gè)重要的屬性:RootNode和CurrentNode。它們的類(lèi)型都是SiteMapNode,并且它們都能使你分別參考站點(diǎn)地圖的根結(jié)點(diǎn)和當(dāng)前結(jié)點(diǎn)。表格7列舉了SiteMapNode類(lèi)的一些重要的屬性。

屬性描述
ChildNodes代表當(dāng)前結(jié)點(diǎn)的所有子結(jié)點(diǎn)的集合
HasChildNodes指示是否站點(diǎn)地圖結(jié)點(diǎn)具有子結(jié)點(diǎn)(true/false)
Title返回在站點(diǎn)地圖文件中指定的title屬性的值
Url 返回在站點(diǎn)地圖文件中指定的url屬性的值
Description 返回在站點(diǎn)地圖文件中指定的description屬性的值
ParentNode指出當(dāng)前結(jié)點(diǎn)的父站點(diǎn)地圖結(jié)點(diǎn)的參考
    表格7:SiteMapNode類(lèi)的一些重要的屬性

  下面的示例使用了SiteMap路徑來(lái)存取一個(gè)站點(diǎn)地圖文件的單個(gè)結(jié)點(diǎn)。然后,以編程方式把它們添加到一個(gè)TreeView控件。

  添加一個(gè)稱(chēng)為SiteMapCustom.aspx的Web表單。然后,把一個(gè)TreeView控件拖動(dòng)到其上。把列表代碼添加到這個(gè)Web表單的Page_Load事件:

protected void Page_Load(object sender, EventArgs e)
{
 int count = SiteMap.RootNode.ChildNodes.Count;
 for (int i = 0; i < count; i++)
 {
  SiteMapNode smNode=SiteMap.RootNode.ChildNodes[i];
  TreeNode tvNode = new TreeNode(smNode.Title, "", "", smNode.Url, "");
  TreeView1.Nodes.Add(tvNode);
  if (smNode.HasChildNodes)
  {
   int childCount=smNode.ChildNodes.Count;
   for (int j = 0; j < childCount; j++)
   {
    SiteMapNode smChildNode = smNode.ChildNodes[j];
    TreeNode tvChildNode = new TreeNode(smChildNode.Title,
     "", "",
     smChildNode.Url, "");
    tvNode.ChildNodes.Add(tvChildNode);
   }
  }
 }
}


  在這里,你首先得到根結(jié)點(diǎn)中的子結(jié)點(diǎn)的總數(shù)。然后,你循環(huán)遍歷根結(jié)點(diǎn)的ChildNodes集合。在每一次遍歷中,你都會(huì)創(chuàng)建一個(gè)新的TreeNode類(lèi)的實(shí)例并且在它的構(gòu)造器中指定它的標(biāo)題和url。然后,你把這個(gè)TreeNode添加到TreeView的Nodes集合中。然后,你檢查是否當(dāng)前SiteMapNode有任何子結(jié)點(diǎn)。如果有,你就對(duì)之進(jìn)行遍歷,重復(fù)TreeNode創(chuàng)建過(guò)程。注意,這一次你把新的TreeNodes添加到當(dāng)前TreeNode對(duì)象的ChildNodes集合中。

  注意,因?yàn)槟阒乐淮嬖趦杉?jí)的嵌套,所以你在循環(huán)中使用了2。為了使得你的邏輯更具有一般性,你可以使用遞歸來(lái)填充TreeView。

  運(yùn)行Web表單,那么你將再次看到類(lèi)似于圖8所示的內(nèi)容。

  六、 使用安全整修

  經(jīng)常情況下,網(wǎng)站都要實(shí)現(xiàn)基于角色的安全模式。例如,你可以在你的應(yīng)用程序中具有不同的角色,例如系統(tǒng)管理員,產(chǎn)品測(cè)試員和服務(wù)測(cè)試員。在這樣的情況中,你經(jīng)常需要控制顯示給用戶的站點(diǎn)導(dǎo)航鏈接。例如,如果當(dāng)前登錄的用戶屬于產(chǎn)品測(cè)試員角色,那么你可能僅想顯示與產(chǎn)品相聯(lián)系的鏈接,而隱藏任何其它鏈接。一種處理角色的方法是使用手工編碼,但是,它要求以編程方式實(shí)現(xiàn)所有的授權(quán)邏輯。幸好,站點(diǎn)地圖文件和SiteMap數(shù)據(jù)源控件一起提供了一種稱(chēng)為安全整修的特征來(lái)幫助你。

  為了測(cè)試安全整修,你需要啟動(dòng)你的網(wǎng)站的會(huì)員和角色特征。打開(kāi)web.config文件并且在其中加入下列標(biāo)記:

<authentication mode="Forms" />
<authorization>
<deny users="?"></deny>
</authorization>

  在此,你已經(jīng)把認(rèn)證模式設(shè)置為Forms。你還可以設(shè)置授權(quán)規(guī)則,這樣以來(lái)匿名的用戶都會(huì)被禁止存取此網(wǎng)站。然后,你需要啟動(dòng)角色管理特征—通過(guò)把下列標(biāo)志添加到web.config文件中:

<roleManager enabled="true" />

  然后,從VS.NET菜單下選擇“WebSite>ASP.NET Configuration”以打開(kāi)Web站點(diǎn)管理工具。使用這個(gè)工具來(lái)添加兩個(gè)角色:ProductTesters和ServiceTesters(參考圖9)。當(dāng)一個(gè)屬于ProductTesters角色的用戶簽入時(shí),你只想實(shí)現(xiàn)把與產(chǎn)品相關(guān)的鏈接顯示在導(dǎo)航TreeView控件中。同樣,當(dāng)一個(gè)屬于ServiceTesters角色的用戶簽入時(shí),應(yīng)該只在TreeView中顯示與服務(wù)相關(guān)的鏈接。


圖9:使用Web站點(diǎn)管理工具添加角色

  使用Web站點(diǎn)管理工具創(chuàng)建兩個(gè)用戶,分別叫user1和user2。把user1添加到ProductTesters角色,把user2添加到ServiceTesters角色(見(jiàn)圖10)。


圖10:使用Web站點(diǎn)管理工具創(chuàng)建用戶

  注意:默認(rèn)地,用戶和角色信息被存儲(chǔ)在你的網(wǎng)站的App_Data文件夾下的ASPNETDB數(shù)據(jù)庫(kù)中。這個(gè)數(shù)據(jù)庫(kù)是由ASP.NET自動(dòng)創(chuàng)建的,如果它不存在的話。

  現(xiàn)在,把一個(gè)新的站點(diǎn)地圖文件SecurityTrimming.sitemap添加到網(wǎng)站并且輸入下列標(biāo)記:

<?xml version="1.0" encoding="utf-8" ?>
 <siteMap xmlns="http://schemas.microsoft.com/AspNet/SiteMap-File-1.0" >
 <siteMapNode url="default.aspx" title="Home" description="My Web Site">
 <siteMapNode title="Products" roles="ProductTesters">
  <siteMapNode url="~/products/product1.aspx" title="First Product" />
  <siteMapNode url="~/products/product2.aspx" title="Second Product" />
 </siteMapNode>
 <siteMapNode title="Services" roles="ServiceTesters">
  <siteMapNode url="~/services/service1.aspx" title="First Service" />
  <siteMapNode url="~/services/service2.aspx" title="Second Service" />
 </siteMapNode>
 <siteMapNode url="contact.aspx" title="Contact Us" />
</siteMapNode>
</siteMap>

  這里的大多數(shù)標(biāo)記與在web.sitemap文件中的相同。然而,這里有一個(gè)重要的屬性添加到了Products和Services—siteMapNodes:roles。這個(gè)roles屬性指定能夠存取這個(gè)結(jié)點(diǎn)及其子結(jié)點(diǎn)的角色。因?yàn)榕c產(chǎn)品相聯(lián)系的鏈接僅顯示給屬于ProductTesters角色的用戶,你要把Products siteMapNode的roles屬性設(shè)置為ProductTesters。遵循相同的道理,你要把Services siteMapNode的roles屬性設(shè)置為ServiceTesters。不具有指定的roles屬性的siteMapNodes對(duì)于所有用戶都可存取。另外,還應(yīng)注意,Products和Services結(jié)點(diǎn)不再具有指定的URL屬性。

  現(xiàn)在,你需要配置站點(diǎn)地圖提供者并且啟動(dòng)安全整修以便SiteMap數(shù)據(jù)源控件能夠按照你的要求行動(dòng)。把下列標(biāo)記添加到web.config文件中:

<siteMap defaultProvider="myprovider" enabled="true">
<providers>
 <add name="myprovider"
  type="System.Web.XmlSiteMapProvider "
  siteMapFile="SecurityTrimming.sitemap"
  securityTrimmingEnabled="true" />
</providers>

  在此,你添加了<siteMap>節(jié)并且指定一個(gè)指向SecurityTrimming.sitemap文件的提供者。注意,這里的securityTrimmingEnabled屬性被設(shè)置為true以支持安全整修。在你配置完<siteMap>節(jié)后,這個(gè)SiteMap數(shù)據(jù)源控件自動(dòng)地從這個(gè)節(jié)中“拾取”這些設(shè)置。

  把一個(gè)稱(chēng)為L(zhǎng)ogin.aspx的新的web表單添加到網(wǎng)站上。然后,把一個(gè)Login控件拖動(dòng)到它上面并且設(shè)置它的DestinationPageUrl屬性為“~/SiteMapDataSourceDemo.aspx”。注意,你在之前已經(jīng)開(kāi)發(fā)了SiteMapDataSourceDemo.aspx。

  運(yùn)行Login.aspx(參考圖11)并且輸入針對(duì)user1的憑證。


圖11:登錄頁(yè)面

  在你成功地登錄以后,你應(yīng)該看見(jiàn)如圖12所示的TreeView。因?yàn)閡ser1屬于ProductTesters角色,所以隱藏了與服務(wù)相聯(lián)系的鏈接。


圖12:使用安全整修

  七、 總結(jié)

  站點(diǎn)地圖是一XML文件—它包含你的Web站點(diǎn)結(jié)構(gòu)的所有細(xì)節(jié)。你可以使用站點(diǎn)地圖文件來(lái)生成導(dǎo)航結(jié)構(gòu)。三種使用站點(diǎn)地圖文件的常用方法分別是:使用SiteMapPath控件,使用SiteMap數(shù)據(jù)源控件,或使用SiteMap類(lèi)。你還可以使用一個(gè)特征—稱(chēng)為安全整修來(lái)支持到生成的導(dǎo)航鏈接的基于角色的安全性。這些控件和類(lèi)共同幫助為你的Web地點(diǎn)創(chuàng)建一個(gè)專(zhuān)業(yè)的導(dǎo)航結(jié)構(gòu)。


發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 平定县| 兴业县| 大冶市| 台中市| 山西省| 肃宁县| 汪清县| 沈阳市| 岢岚县| 越西县| 鄂托克前旗| 汽车| 泗阳县| 新闻| 化德县| 新津县| 马龙县| 永定县| 龙井市| 洞头县| 五寨县| 本溪| 雷山县| 习水县| 临颍县| 济南市| 泌阳县| 德江县| 嘉义县| 东乡县| 广元市| 台南县| 岳西县| 西宁市| 张家界市| 保定市| 拉孜县| 偃师市| 隆德县| 荔浦县| 黑河市|