日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 >

角色与网站地图的结合

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

1、準(zhǔn)在母版頁上加入導(dǎo)航菜單功能,數(shù)據(jù)源來自站點(diǎn)地圖。web.sitemap內(nèi)容大致如下:

<?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="產(chǎn)品瀏覽" url="~/BrowseProducts.aspx"></siteMapNode></siteMapNode><siteMapNode title="論壇" url="~/ShowForums.aspx"><siteMapNode title="Show Thread" url="~/ShowThread.aspx" /></siteMapNode><siteMapNode title="關(guān)于" url="~/About.aspx" /><siteMapNode title="聯(lián)系" 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>

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

網(wǎng)站根目錄下新建母版頁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>

?

對應(yīng)的設(shè)計視圖:

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

menu控件的屬性如下設(shè)置:

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

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

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

我們對web.sitemap進(jìn)行相應(yīng)的設(shè)置。

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

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

提示:<siteMap>節(jié)點(diǎn) 位置放在<membership>之后,可能才正常!

?

再次運(yùn)行default.aspx頁面,然后用[張魯魯]登錄系統(tǒng),因為該用戶屬于Administrators角色,看看前后導(dǎo)航菜單的區(qū)別。

轉(zhuǎn)載于:https://www.cnblogs.com/netxiaochong/archive/2011/12/28/2304552.html

總結(jié)

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

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。