【问题标题】:Is it Possible to Convert ASP.net MVC Web Project to ASP.net Web Forms?是否可以将 ASP.net MVC Web 项目转换为 ASP.net Web 表单?
【发布时间】:2009-12-17 16:29:42
【问题描述】:

早安,

是否有人尝试将 ASP.net MVC Web 应用程序项目转换/迁移到 ASP.net Web 表单?如果是这样,您是如何做到的?

谢谢, 席德

澄清/更新: 服务器正在运行 IIS6,我已经修改了 global.asax。我按照 Phil Haack 的说明设置 IIS6 以供 MVC 使用。我现在可以在浏览器中在 //localhost/domainname 中查看该站点。但是,似乎没有读取 CSS 文件,因为没有应用任何样式。我可以单击指向我的每个页面的链接,但会出现错误的部分除外。
我是 MVC 新手,但不是网络表单。我的想法是,由于我在实施 MVC 应用程序时遇到困难/沮丧,所以在我深入开发过程之前,我会恢复到网络表单。

【问题讨论】:

  • 你为什么要这样做 - 可能有助于了解。
  • 你到底为什么要这么做?您是否已用完无法移植回 VB6 的 winforms 应用程序?
  • 老实说,我在将 MVC 应用程序部署到 IIS6 上时遇到了极大的困难。我已按照 Phil Haack 的 T 部署步骤。因此,由于我的应用程序尚未完全开发,我的想法是切换到网络表单以解决此部署问题。
  • 也许您的问题应该是关于在 IIS6 中设置 MVC 的问题,而不是关于转换为网络表单的问题!?

标签: asp.net asp.net-mvc


【解决方案1】:

直接转换?没有。

将 .NET MVC 应用程序转换为 Web 窗体需要大量分析和额外工作(弄清楚如何使用 ViewState、将控制器逻辑和视图转换为 WebParts 等),但绝对可以完成。

就个人而言...我永远不会回头。

【讨论】:

    【解决方案2】:

    我在 IIS6 上运行没有问题。像这样设置你的路线,

     public static void RegisterRoutes(RouteCollection routes)
            {
                routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
    
                // Classic URL mapping for IIS 6.0
                routes.MapRoute(
                    "Default",
                    "{controller}.aspx/{action}/{id}",
                    new { action = "Index", id = "" }
                );
    
                routes.MapRoute(
                    "Root",
                    "",
                    new { controller = "Home", action = "Index", id = "" }
                );
            }
    

    对于 CSS 链接,我这样编码,

    <link  href="../../Content/Site.css" rel="stylesheet" type="text/css" />
    

    然后对于我使用的任何脚本标签,

    <script src="<%=HttpRuntime.AppDomainAppVirtualPath %>/Scripts/jquery-1.3.2.min.js" type="text/javascript"></script>
    

    它似乎工作正常。

    【讨论】:

      【解决方案3】:

      可以将 MVC 区域添加到现有的 ASP.NET webforms 项目中,然后手动缓慢地将每个页面从 webforms 移植到 MVC 模式,同时保持原始 ASP.NET 站点正常工作。

      如果您想在 MVC 中添加新部件或根据需要缓慢地将部件移植到 MVC 区域时保持庞大的代码库正常工作,这并不理想但很方便:

      http://www.davepaquette.com/archive/2013/12/30/so-you-inherited-an-asp-net-web-forms-application.aspx

      【讨论】:

        猜你喜欢
        • 2011-04-05
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-09-16
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多