1

I)想象一下,我创建了一个投影仪,获取内容类型列表(在我的例子中是Course)并显示它。

创建新课程应满足3个条件:

  1. 我想使用 jQuery AJAX 调用在此列表中添加新元素,包括客户端和服务器端的数据验证,以及在模型中重用数据注释的代码。

  2. 在进行 AJAX 调用之前,会出现一个使用 jQuery UI 的弹出对话框,如下图所示: 弹出创建新课程

  3. 但我想在投影仪课程列表的左侧添加一个按钮,这个按钮会弹出一个带有表单的对话框,它会使用 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是否可以从备用调用部分视图?

此致

4

0 回答 0