2011-03-11 124 views

回答

95

这取决于你的MVC应用程序有多复杂,但在大多数情况下,它是直接的。最简单的方法是将现有网站封装到Orchard模块中。写一个模块描述为here。这些都是必要的步骤:

  1. 在〜/ Orchard.Web /模块您的网站复制到一个子目录与.csproj的文件一起,以便.csproj的文件应该在你的应用程序根目录(例如〜。 /Orchard.Web/Modules/MyApplication/MyApplication.csproj)
  2. 在您的应用程序的根目录中创建一个Module.txt清单文件。这个小文件描述了你的应用程序 - 它的语法描述如下here
  3. 设置适当的路由,以便现有控制器的动作可以被命中。这也在上面的文章中描述。默认情况下,您的应用程序URL将看起来像/ MyApplication/Controller/Action - 您可以随意更改它。要小心,不要干涉现有的路线,例如。 /管理员,/用户等。您指定的路线具有更高的优先级,并将覆盖每个现有的路线。顺便说一下 - 区域名称,如有必要,将是您的应用程序的名称(例如MyApplication)
  4. 在模块/功能管理菜单中运行果园并启用您的应用程序
  5. 对web.config文件添加必要的更改。

请记住,Orchard是基于ASP.NET MVC 4并使用Razor视图引擎。如果您使用其他视图引擎,则必须在web.config文件中适当地指定它。

+4

您可以评论如何处理与添加旧网站的用户身份验证? (他们可以并排存在吗?) – ccook 2012-11-25 22:32:41

+0

@PiotrSzmyd,这些步骤有效。但我面临的是一个小问题。 _Layout.cshtml - 这是MVC部分视图的布局页面。但是我无法提及每个视图文件中_Layout文件的路径。 在MVC中,我们可以这样写:Layout =“〜/ Views/Shared/_Layout.cshtml”;但似乎果园错误地解释了这个名字。它正在考虑整个字符串作为文件的名称!当我写:Layout =“_Layout.cshtml”;果园不在查看Views/Shared文件夹。它期望_Layout.cshtml文件与视图文件位于同一文件夹中! 任何解决方法? – Rahatur 2013-06-25 17:42:02

+15

我想将Orchard CMS整合到MY应用程序中。不要整合我的应用程序INTO Orchard CMS。 – 2013-09-10 16:51:25

相关问题