2014-01-28 48 views
0

任何人都可以幫助我使用mvcsitemapprovider。站點地圖上的麪包屑拒絕顯示,直到我編輯mvc.siemap文件並保存。它只會暫時顯示麪包屑,直到我離開頁面並重新打開它。MvcSiteMapProvider僅在編輯mvc.sitemap時顯示mvc4

我的設置..

<?xml version="1.0" encoding="utf-8" ?> 
<mvcSiteMap xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
     xmlns="http://mvcsitemap.codeplex.com/schemas/MvcSiteMap-File-4.0" 
     xsi:schemaLocation="http://mvcsitemap.codeplex.com/schemas/MvcSiteMap-File-4.0  
MvcSiteMapSchema.xsd"> 

<mvcSiteMapNode title="Dashboard" controller="Dashboard" action="Index"> 
<mvcSiteMapNode title="Customers" controller="Customers" action="Index"> 
    <mvcSiteMapNode title="Details" controller="Customers" action="Details" /> 
    <mvcSiteMapNode title="Edit" controller="Customers" action="Edit" /> 
</mvcSiteMapNode> 
</mvcSiteMapNode> 

回答

0

從事物的外表,你想顯示在管理頁面的麪包屑。推薦的做法是使用preservedRouteParameters強制每個「id」與節點匹配,然後在更改記錄時使用可見性提供程序和[TitleAttribute]修復顯示,並在主菜單中隱藏這些選項(通常是您將首先導航到索引頁面,然後從數據庫驅動列表中選擇命令,所以它們不應出現在菜單中)。

<?xml version="1.0" encoding="utf-8" ?> 
<mvcSiteMap xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
     xmlns="http://mvcsitemap.codeplex.com/schemas/MvcSiteMap-File-4.0" 
     xsi:schemaLocation="http://mvcsitemap.codeplex.com/schemas/MvcSiteMap-File-4.0  
MvcSiteMapSchema.xsd"> 

<mvcSiteMapNode title="Dashboard" controller="Dashboard" action="Index"> 
<mvcSiteMapNode title="Customers" controller="Customers" action="Index"> 
    <mvcSiteMapNode title="Create New" controller="Customers" action="Create" visibility="SiteMapPathHelper,!*" /> 
    <mvcSiteMapNode title="Details" controller="Customers" action="Details" visibility="SiteMapPathHelper,!*" preservedRouteParameters="id"> 
    <mvcSiteMapNode title="Edit" controller="Customers" action="Edit" visibility="SiteMapPathHelper,!*" preservedRouteParameters="id" /> 
    <mvcSiteMapNode title="Delete" controller="Customers" action="Delete" visibility="SiteMapPathHelper,!*" preservedRouteParameters="id" /> 
    </mvcSiteMapNode> 
</mvcSiteMapNode> 
</mvcSiteMapNode> 

如果不使用preservedRouteParameters,它們顯示出來的事實不應該發生。這可能是一個錯誤或配置錯誤,但沒有關於你的配置的更多細節很難說。

您可以在How to Make MvcSiteMapProvider Remember a User's Position上看到完整的可下載演示(參見強制匹配項目)。請務必在wiki上查看關於visibilitytitle attribute的文檔。

相關問題