0
我已經創建了一個名爲「AccessFolder」的自定義內容類型。我可以在內容類型列表中看到它,並可以創建一個新的。當我創建一個新的AccessFolder時,我得到了我爲它創建的編輯器模板。輸入信息並點擊保存後,我被引導到一個Not Found
頁面,但指示符消息告訴我我的AccessFolder已成功創建。果園自定義內容類型不保存
在驅動程序中,使用updater.TryUpdateModel
綁定後,可以看到該模型。正確的值被分配給模型的屬性。
它只是永遠不會到數據庫。
AccessFolderPart:
public class AccessFolderPart : ContentPart<AccessFolderPartRecord>
{
public virtual string Name
{
get { return Record.Name; }
set { Record.Name = value; }
}
public virtual IEnumerable<RoleRecord> DownloadRoles
{
get { return Record.DownloadRoles.Select(x => x.RoleRecord); }
}
}
AccessFolderPartRecord AccessFolderPartDriver的
public class AccessFolderPartRecord : ContentPartRecord
{
public virtual string Name { get; set; }
public virtual List<ContentAccessFolderRoleRecord> DownloadRoles { get; set; }
}
相關件
protected override DriverResult Editor(AccessFolderPart part, dynamic shapeHelper)
{
var viewModel = new AccessFolderViewModel(part, _roleService.GetRoles());
return ContentShape("Parts_AccessFolder_Edit",() =>
shapeHelper.EditorTemplate(TemplateName: templateName, Model: viewModel, Prefix: Prefix));
}
protected override DriverResult Editor(AccessFolderPart part, Orchard.ContentManagement.IUpdateModel updater, dynamic shapeHelper)
{
var viewModel = new AccessFolderViewModel { Part = part };
updater.TryUpdateModel(viewModel, Prefix, null, null);
if (part.ContentItem.Id != 0)
{
_roleService.UpdateRolesForAccessFolder(part.ContentItem, part.DownloadRoles);
}
return Editor(part, shapeHelper);
}
自從星期五以來,我一直堅持這一點。我之前創建了自定義類型,從來沒有任何問題。我看不出我在這裏做錯了什麼。
更新 - 新增內容Handler類
這裏的處理程序的一行:
public class AccessFolderPartHandler : ContentHandler
{
public AccessFolderPartHandler(IRepository<AccessFolderPartRecord> repository)
{
Filters.Add(StorageFilter.For(repository));
}
}
難道您是否記得在內容處理程序中添加存儲過濾器? –
@BrandonJoyce是的,我已經有了。我更新了這個問題以反映它。 –
沒有日誌文件它是不可能找到問題。請在這裏發佈日誌文件,所以我們可以幫助你。 –