1
我正在使用Maarten Balliauw的ASP.NET MVC SiteMapProvider。MvcSiteMapProvider - 菜單間歇性消失
我使用助手顯示主導航和麪包屑。我不時注意到它們完全從渲染頁面中消失。
在本地環境中,我不得不重建項目,並離開瀏覽器中的當前頁面以使其恢復。在製作中,我發現我必須重新上傳站點DLL。這些「修復」本身只能取得混合成功。
有一個「輕微」的模式,但沒有確認 - 當您編輯或上傳視圖時會出現該問題。
任何幫助將不勝感激。下面是我的一些代碼:
網站地圖文件的一部分:
<mvcSiteMapNode title="Home" controller="Home" action="Index" key="home">
<mvcSiteMapNode title="About us" controller="about" action="index" key="about">
<mvcSiteMapNode title="Our Approach" controller="about" action="approach" url="/about/our-approach" imageUrl="/content/images/ourApproachNavImg.jpg" />
</mvcSiteMapNode>
<mvcSiteMapNode title="News" controller="news" action="index" key="news" showSubNav="false">
<mvcSiteMapNode dynamicNodeProvider="XXX.Helpers.NewsItemDynamicNodeProvider, KDC" title="" />
</mvcSiteMapNode>
</mvcSiteMapNode>
助手:
@Html.MvcSiteMap().Menu(false, true, false)
@Html.MvcSiteMap().SiteMapPath()
dynamicNodeProvider:
public override IEnumerable<DynamicNode> GetDynamicNodeCollection()
{
var returnValue = new List<DynamicNode>();
var newsItemService = DependencyResolver.Current.GetService<INewsItemService>();
foreach (var item in newsItemService.GetAll(true, true))
{
DynamicNode node = new DynamicNode();
node.Title = item.Title;
node.Action = "detail";
node.RouteValues.Add("url", item.Url);
returnValue.Add(node);
}
return returnValue;
}
的MvcSiteMapProvider在web.config中每標準並沒有改變。
我在MVC4上使用v4,我仍然在觀察同一個問題。這是一個新引入的錯誤,或者這個答案實際上不是正確的答案? – Dorival
你的菜單和麪包屑消失了,還是根本沒有出現?這將是自v4發佈以來發生的第一次報告,如果它們隨機消失的話。請構建一個展示行爲的小型演示項目並在Github上打開一個新問題:https://github.com/maartenba/MvcSiteMapProvider/issues/new – NightOwl888