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