[英]Orchard CMS one ContentPart on several View
現有模型-\\ Models \\ HeaderPart.cs。 在驅動程序中,要創建CategoriesMenuDriver並使用HeaderPart:
public class CategoriesMenuDriver : ContentPartDriver<HeaderPart>
{
private readonly dynamic shapeFactory;
private readonly IMenuAccessor menuAccessor;
public CategoriesMenuDriver(
IShapeFactory shapeFactory,
IMenuAccessor menuAccessor)
{
this.shapeFactory = shapeFactory;
this.menuAccessor = menuAccessor;
}
protected override DriverResult Display(HeaderPart part, string displayType, dynamic shapeHelper)
{
return this.ContentShape("Parts_CategoriesMenu", () => shapeHelper.Parts_CategoriesMenu(
MenuItems: this.menuAccessor.GetMenu<NavigationMenuItem>("UserAccount")));
}
}
但是在CategoriesMenu視圖中
var headerPart = (HeaderPart)Model.ContentItem.HeaderPart;
Model.ContentItem為null。
我可以在View CategoriesMenu中獲得HeaderPart嗎?
您應該能夠像這樣訪問零件:
HeaderPart part = Model.ContentPart;
盡管Model.ContentItem
不應為null,這很奇怪
編輯如果它也為null,則可以嘗試自己進行設置:
protected override DriverResult Display(HeaderPart part, string displayType, dynamic shapeHelper)
{
return ContentShape("Parts_CategoriesMenu", () => shapeHelper.Parts_CategoriesMenu(
MenuItems: this.menuAccessor.GetMenu<NavigationMenuItem>("UserAccount"),
ContentPart: part
));
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.