我有一個SiteNavigation類正在我的基礎控制器的Initialize事件中進行更新,例如爲什麼ViewBag中的項目不會傳播到_Layout頁面?
[Serializable]
public class SiteNavigation
{
public SiteNavigation()
{
IsSummarySelected = true;
}
public Model.Dtos.Folder[] Folders { get; set; }
public bool IsSummarySelected { get; set; }
}
protected override void Initialize(System.Web.Routing.RequestContext requestContext)
{
base.Initialize(requestContext);
var siteNavigation = new SiteNavigation();
siteNavigation.Folders = GetMeMyFolders() as Folder[];
ViewBag.SiteNavigation = siteNavigation;
}
並在控制器中IsSummarySelected屬性更改爲此值。
ViewBag.SiteNavigation.IsSummarySelected = false;
當我使用這行代碼訪問_Layout文件中的屬性時,該值始終爲真。就好像nav對象再次被新建起來並且構造函數將其設置爲true。
@if (ViewBag.SiteNavigation.IsSummarySelected)
我試着將nav對象轉換回變量並設置屬性,方式也沒有骰子。任何幫助,將不勝感激。
叫我困惑!
謝謝 斯蒂芬
@SPATEN你有沒有得到它的工作? – DMulligan 2012-04-23 19:13:58
@AFinkelstien Initialize方法適用於我正在做的事情,但我擺脫了IsSummarySelected屬性來代替通過路由進行。感謝您的幫助! – 2012-05-12 16:57:07