【问题标题】:Add a single page of ASP.Net MVC to an existing Web Forms app?将 ASP.Net MVC 的单个页面添加到现有的 Web 窗体应用程序?
【发布时间】:2009-10-30 20:42:11
【问题描述】:

我一直在浏览这个站点,并且看到了一些关于如何从 Web 窗体“迁移”到 MVC 的帖子......但是作为一个开发复杂 Web 窗体应用程序的开发人员,我根本不有时间来一次全面迁移。我想做的是使用 MVC 添加所有新内容,并在我有时间(和/或有时间)时迁移旧内容。我看到 MVC 为我的环境带来了很多好处。

要注意的另一件事是,所有 Web 窗体 .aspx 目前都位于根目录中,并且我有一些老式 URL 重写设置(例如:“/id/123/s/whatever/PageName.aspx” -> "/PageName.aspx?id=123&s=whatever") 可能会使事情复杂化。

还有一个使用 MasterPages 的模板系统可能会带来挑战。使用 MVC 的处理方式是否不同?

此时我还没有添加任何与我的应用程序相关的 MVC。

那么,我该如何一步一步地将我的第一个模型、视图和控制器添加到现有的 Web 窗体应用程序中?

编辑:

我还发现这篇文章详细介绍了我需要做的大部分事情:http://blogs.imeta.co.uk/MGodfrey/archive/2009/03/31/663.aspx

不幸的是,它仍然无法正常工作。我想是因为我有一个网站而不是一个 Web 应用程序。 (换句话说,我的课程位于 App_Code 目录中)。

【问题讨论】:

    标签: asp.net asp.net-mvc


    【解决方案1】:

    Scott Hanselman 有一些关于混合 MVC 和 webforms 的不错的文章。 here 是一篇与您正在寻找的文章相似的文章。

    另一篇关于将 MVC 添加到现有应用程序并提供分步说明的文章是here

    第二篇文章向您介绍了 ASP.NET MVC 1.0 的第 12 章,由编写 ASP.NET MVC 的人编写。当然是出自不同的书,但内容是一样的。

    【讨论】:

      【解决方案2】:

      对于将来偶然发现此问题的任何人:您只需在 Visual Studio 2013 Pro 中单击几下即可完成此操作。

      http://www.asp.net/mvc/mvc5 - 向下滚动到“ASP.NET Scaffolding”标题下的底部,并在第三段到最后一段:

      “要将 MVC 脚手架添加到 Web 窗体项目,请添加一个新的脚手架项目并在对话框窗口中选择 MVC 5 Dependencies。脚手架 MVC 有两种选择;最小和完整。如果选择“最小”,则只会将 ASP.NET MVC 的 NuGet 包和引用添加到您的项目中。如果选择 Full 选项,则会添加 Minimal 依赖项,以及 MVC 项目所需的内容文件。”

      【讨论】:

      • 谢谢。非常有帮助。使用 MVC 5,这很容易。
      【解决方案3】:

      这里有一个pdf 可能会帮助你。它非常深入,它应该向您展示足够的信息来开始在您的 Web 表单应用程序中实现 mvc。它展示了如何将 mvc 合并到 Web 表单中,反之亦然。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2021-04-30
        • 2014-02-23
        • 1970-01-01
        • 1970-01-01
        • 2013-12-30
        • 2015-07-12
        • 2011-10-05
        • 2017-11-29
        相关资源
        最近更新 更多