我搜索了档案,并搜索了它,但似乎我找不到关于如何顺利地将功能添加到现有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);
}