asp.net-mvc – 将MVC添加到现有的ASP.net网站

我搜索了档案,并搜索了它,但似乎我找不到关于如何顺利地将功能添加到现有ASP.net 4网站的指南/最佳实践/操作方法,将它们添加到最新的MVC中.

我有一个用ASP.net 1.0构建的网站,并逐步升级到4.0,现在我想切换到MVC,但是重新创建MVC中的所有网站是一个太长的过程,因为该网站有很多功能,有些部分在webforms中很好.

对我来说最好的方法应该是能够顺利地将MVC添加到现有的ASP.net 4.0网站,并逐步将现有的webforms迁移到MVC.

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

最佳答案 >在ASP.net网站上添加System.Web.Mvc参考

>对于支持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);
}
点赞