【问题标题】:Add MVC to an existing ASP.net website将 MVC 添加到现有的 ASP.net 网站
【发布时间】:2011-12-17 00:41:28
【问题描述】:

我搜索了档案并在谷歌上搜索了它,但似乎我找不到关于如何顺利向现有 ASP.net 4 网站添加功能的指南/最佳实践/操作方法,将它们添加到最新的 MVC。 我有一个使用 ASP.net 1.0 构建的网站,并逐步升级到 4.0,现在我想切换到 MVC,但是在 MVC 中重新创建所有网站是一个太长的过程,因为该网站有很多功能,有些部分在网络表单中很好用。 对我来说最好的方法应该是能够顺利地将 MVC 添加到这个现有的 ASP.net 4.0 网站,并逐步将现有的 webforms 迁移到 MVC。

(不想开始 webforms-MVC 的火焰,只是看一些关于如何避免常见错误的提示。)

【问题讨论】:

    标签: asp.net-mvc webforms


    【解决方案1】:
    1. 在 ASP.net 网站中添加 System.Web.Mvc 引用
    2. 为支持MapRoute,需要在web.config中添加如下代码:
    
    <system.webServer>
     <validation validateIntegratedModeConfiguration="false"/>
     <modules runAllManagedModulesForAllRequests="true"/>
    </system.webServer>
    

     3. 在 web.config 中添加程序集引用:

    
    <compilation defaultLanguage="c#" debug="false" targetFramework="4.0">
        <assemblies>
        <add assembly="System.Web.Abstractions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
        <add assembly="System.Web.Helpers, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
        <add assembly="System.Web.Routing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
        <add assembly="System.Web.Mvc, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
        <add assembly="System.Web.WebPages, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
        </assemblies>
    </compilation>
    
    4.在Global.asax中添加路线图,如:
    
    public static void RegisterRoutes(RouteCollection routes)
    {
        routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
        routes.MapRoute(
        "Default",                                              // Route name
        "{controller}/{action}/{id}",                           // URL with parameters
        new { controller = "Home", action = "Index", id = "" }  // Parameter defaults
        );
    }
    
    protected void Application_Start()
    {
        RegisterRoutes(RouteTable.Routes);
    }
    

    【讨论】:

    • 嗨@artwl,非常感谢您的回答。看起来非常(太)容易,是一切都需要吗?还有 MVC 文件夹结构等?我正在考虑创建一个新的 MVC 项目并从那里复制一些结构。
    猜你喜欢
    • 2015-02-12
    • 2011-11-03
    • 2016-04-06
    • 1970-01-01
    • 2012-04-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多