【发布时间】:2015-09-13 02:55:55
【问题描述】:
我正在使用以下 Orchard 代码。出于任何原因,我无法将我的属性 ProductsContent 保留在数据库中。我已经在视图上正确呈现了它的文本字段,并相应地创建了迁移。我的产品部件记录的 Leaves 属性已正确存储,但我的 ProductsContent 属性未正确存储。
【问题讨论】:
标签: c# content-management-system orchardcms
我正在使用以下 Orchard 代码。出于任何原因,我无法将我的属性 ProductsContent 保留在数据库中。我已经在视图上正确呈现了它的文本字段,并相应地创建了迁移。我的产品部件记录的 Leaves 属性已正确存储,但我的 ProductsContent 属性未正确存储。
【问题讨论】:
标签: c# content-management-system orchardcms
在我看来,因为您在驱动程序中使用视图模型而不是实际部件,部件不会自动更新:
protected override DriverResult Editor(
ProductPart part,
IUpdateModel updater,
dynamic shapeHelper)
{
var model = new EditLeavesViewModel<ProductLeafEntry>();
if (updater.TryUpdateModel(model, Prefix, null, null))
{
// set the property manually here
part.ProductsContent = model.ProductsContent;
if (part.ContentItem.Id != 0)
{
_productService.UpdateLeavesForContentItem(
part.ContentItem, model.Leaves);
}
}
return Editor(part, shapeHelper);
}
【讨论】: