I)想象一下,我创建了一个投影仪,获取内容类型列表(在我的例子中是Course)并显示它。
创建新课程应满足3个条件:
我想使用 jQuery AJAX 调用在此列表中添加新元素,包括客户端和服务器端的数据验证,以及在模型中重用数据注释的代码。
在进行 AJAX 调用之前,会出现一个使用 jQuery UI 的弹出对话框,如下图所示:
但我想在投影仪课程列表的左侧添加一个按钮,这个按钮会弹出一个带有表单的对话框,它会使用 AJAX 为这个投影仪创建一个新元素(如果有效)。
II)我们参与该案例场景的 3 个不同项目:
Course
- 是我定义课程内容类型和部分视图CreateCourse.cshtml
文件的地方,您可以在其中找到 HTML 模板以使用 jQuery UI 对话框创建表单。在这个项目中,您还可以找到具有调用服务以创建新课程内容类型
CourseController
的操作的控制器。CreateCourse
Orchard.Projections
- 是定义投影仪的地方。Orchard.Web
- 是定义主题的地方,在哪里我可以有这个投影的替代品,只需在其中添加一个创建项目按钮,引用CreateCourse.cshtml
课程项目中的部分视图。
问题: 我相信我的大部分问题都是架构问题。
第一个问题,有没有比II)中解释的更好的方法。如果是,请告诉我。
考虑到II)是最好的方法:
我想知道女巫替代我应该~\Orchard.Web\Themes\[Theme Name]\Views\[AlternateName].cshtml
在投影仪列表顶部添加按钮吗?
~\Course/Views/Shared/CreateCourse.cshtml
是否可以从备用调用部分视图?
此致