日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

角色与网站地图的结合

發布時間:2025/3/15 编程问答 12 豆豆
生活随笔 收集整理的這篇文章主要介紹了 角色与网站地图的结合 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1、準在母版頁上加入導航菜單功能,數據源來自站點地圖。web.sitemap內容大致如下:

<?xml version="1.0" encoding="utf-8" ?> <siteMap xmlns="http://schemas.microsoft.com/AspNet/SiteMap-File-1.0" enableLocalization ="true" ><siteMapNode title="主頁" url="~/Default.aspx"><siteMapNode title="文章" url="~/ShowCategories.aspx"><siteMapNode title="瀏覽文章" url="~/BrowseArticles.aspx" /></siteMapNode><siteMapNode title="購物" url="~/ShowDepartments.aspx"><siteMapNode title="購物卡" url="~/ShoppingCart.aspx" /><siteMapNode title="訂單記錄" url="~/OrderHistory.aspx" /><siteMapNode title="產品瀏覽" url="~/BrowseProducts.aspx"></siteMapNode></siteMapNode><siteMapNode title="論壇" url="~/ShowForums.aspx"><siteMapNode title="Show Thread" url="~/ShowThread.aspx" /></siteMapNode><siteMapNode title="關于" url="~/About.aspx" /><siteMapNode title="聯系" url="~/Contact.aspx" /><siteMapNode title="管理員" url="~/Admin/Default.aspx"><siteMapNode title="管理用戶" url="~/Admin/ManageUsers.aspx" ><siteMapNode title="編輯用戶" url="~/Admin/EditUser.aspx" /></siteMapNode><siteMapNode title="文章管理" url="~/Admin/ManageArticles.aspx" ><siteMapNode title="增加/修改 文章" url="~/Admin/AddEditArticle.aspx" /></siteMapNode></siteMapNode></siteMapNode> </siteMap>

為什么主頁節點會作為根節點,而不是同其他節點在同一層次上?實際上這是可選的,我們希望SiteMapPath控件在頁面路徑的最前端始終顯示主頁鏈接,所以將主頁節點作為根節點。

網站根目錄下新建母版頁template.master,源視圖代碼:

<form id="form1" runat="server"><table><tr><td colspan="2" width="60%" bgcolor="#3399FF">&nbsp;</td><td><asp:LoginView ID="LoginView1" runat="server"><AnonymousTemplate><asp:Login ID="Login1" runat="server"></asp:Login></AnonymousTemplate><LoggedInTemplate><asp:LoginName ID="LoginName1" FormatString="歡迎您,{0}!" runat="server" /><br /><asp:HyperLink ID="lnkProfile" NavigateUrl="~/EditProfile.aspx" runat="server">編輯用戶資料</asp:HyperLink><br/><asp:LoginStatus runat="server"></asp:LoginStatus></LoggedInTemplate></asp:LoginView></td></tr><tr><td width="20%" bgcolor="Lime">&nbsp;</td><td><asp:Menu ID="Menu1" runat="server" DataSourceID="SiteMapDataSource1" StaticSubMenuIndent=""></asp:Menu><asp:ContentPlaceHolder ID="ContentPlaceHolder1" runat="server"></asp:ContentPlaceHolder></td><td width="20%" bgcolor="#3366FF">&nbsp;</td></tr></table><asp:SiteMapDataSource ID="SiteMapDataSource1" runat="server" /></form>

?

對應的設計視圖:

注意:這里用了LoginView控件來決定匿名用戶與登錄用戶呈現不同的部分。(該控件的用法請參考:http://www.cnblogs.com/netxiaochong/archive/2011/12/25/2301024.html)

menu控件的屬性如下設置:

<asp:Menu ID="Menu1" runat="server" DataSourceID="SiteMapDataSource1"
??????????????????????? StaticSubMenuIndent="" Orientation="Horizontal" StaticDisplayLevels="2"></asp:Menu>

新建Default.aspx頁面(若項目已有則刪除后重建),并應用母版頁template.master,瀏覽該頁面,看效果:

匿名用戶訪問此頁面的時候,以及非管理員角色(Administrators)的注冊用戶都是不能見到【管理員】菜單項的。

我們對web.sitemap進行相應的設置。

<siteMapNode title="管理員" url="~/Admin/Default.aspx" roles="Administrators">

還必須為網站地圖注冊一個新的提供程序(在web.config的<siteMap>中),設置其為securityTrimmingEnabled屬性為true

提示:<siteMap>節點 位置放在<membership>之后,可能才正常!

?

再次運行default.aspx頁面,然后用[張魯魯]登錄系統,因為該用戶屬于Administrators角色,看看前后導航菜單的區別。

轉載于:https://www.cnblogs.com/netxiaochong/archive/2011/12/28/2304552.html

總結

以上是生活随笔為你收集整理的角色与网站地图的结合的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。