将MVC添加到现有的ASP.net网站

时间:2011-12-17 00:41:28

标签: asp.net-mvc webforms

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

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

1 个答案:

答案 0 :(得分:2)

  1. 在ASP.net网站上添加System.Web.Mvc参考
  2. 支持MapRoute,您需要在web.config中添加以下代码:
  3. 
    <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);
    }