我对 Orchard(和 ASP.NET MVC)非常陌生,我很难理解如何在控制器中自动设置 Orchard 部件属性。我有一个“画廊”内容类型,由股票标题、容器和所有者部分组成。我正在使用 Create 方法创建一个控制器,该方法隐藏了 Container 部分的所有详细信息,因为我将在 Create 方法的 HttpPost 版本中设置默认页面长度、项目类型等。我的问题是我不知道如何在 http Post 上设置这些值。
我的总体计划如下:
我创建了一个包含标题和管理员用户名的 CreateGalleryViewModel,两者都是字符串。在视图中,这两个表示为表单字段。在提交时,我可以在控制器中运行 TryUpdateModel 以使用表单值更新 CreateGalleryViewModel。但是,我该如何更新 Part 属性呢?我想我应该运行 IContentManager.UpdateEditor(, this) 但我认为这不起作用,因为我一开始从未运行过 IContentManager.BuildEditor。这就是我卡住的地方,因为我看不到内容部分是如何正确验证和更新的。
我是否在错误的抽象级别上看待这个?如何为我的图库内容类型制作简化的编辑器?