【问题标题】:ASP.NET MVC within DotNetNuke?DotNetNuke 中的 ASP.NET MVC?
【发布时间】:2010-10-07 10:53:35
【问题描述】:

是否可以构建使用 ASP.NET MVC 的 DNN 模块?

当然 DNN 不支持开箱即用的 ASP.NET MVC...但是由于 DNN 和 MVC 都在 ASP.NET 管道之上运行...

我问的原因。在 DNN 上运行的大型遗留网站:

http://blahblahblah.com

我想在此处粘贴现有的 ASP.NET MVC 网页/应用程序:

http://blahblahblah.com/subfolder

通过在服务器上设置虚拟目录等是否更好,或者有没有办法将其与 DNN 集成?

【问题讨论】:

    标签: asp.net-mvc dotnetnuke


    【解决方案1】:

    DNN 与 Webforms 紧密相关。 ASP.Net MVC 将非常困难,可能无法集成到一个模块中。然而,DNN 确实支持 Webforms MVP(模型视图展示器),它允许 MVC 在 WebForms 上下文中的所有结构/测试优势。 DotNetNuke Corp. 开发的所有新模块都使用 Webforms MVP 模式。

    这里有一个链接让你开始Step by Step Webforms MVP and DotNetNuke – Part 1.

    【讨论】:

    • 发布此答案后的一段时间,我尝试将 MVC 与 DNN 集成时遇到了问题。我的结论是,通过一些妥协是可以做到的,但最终不太可能值得。今天我倾向于用服务框架写服务,所有的 ui 都用 javascript 来做,基本上把 web 表单和代码完全省掉了。
    【解决方案2】:

    下载我的 DnnMvcBridge 项目,您绝对可以使用 MVC 4 和 Razor 构建 DNN 模块。

    https://dnnmvcbridge.codeplex.com/

    【讨论】:

      【解决方案3】:

      对于 Asp.Net MVC,看看这个:

      http://www.charlesnurse.com/post/Developing-Modules-for-DotNetNuke-using-ASPNET-MVC-Part-1-Introduction.aspx

      还有这个:

      http://bigfootmvc.codeplex.com/

      这不是 Asp.Net MVC,而是另一个 MVC 框架(它应该不需要任何不是 DNN 开发环境原生的东西)。

      【讨论】:

        【解决方案4】:

        如果您只是想在子目录中放置一个单独的 MVC 应用程序,您应该可以这样做。主要的棘手部分是集成用户/会话(假设您需要),但这不应该是 难以弄清楚的障碍(而不是重新编码现有的 MVC 应用程序)。您可能还需要更新 MVC 应用程序的 web.config 以清除 DNN 中的任何内容(最重要的是,HTTP 模块和处理程序,因此它们不会干扰路由)。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2012-01-09
          • 1970-01-01
          • 2017-08-27
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多