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

4
我查阅了档案并在谷歌上搜索,但似乎找不到有关如何顺利将功能添加到现有的ASP.net 4网站中的指南/最佳实践/操作说明,以及如何在最新的MVC中添加它们的内容。 我有一个使用ASP.net 1.0构建的网站,并逐步升级到4.0,现在我想切换到MVC,但重新创建所有网站是一个太长的过程,因为该网站具有许多功能,并且某些部分在Webforms中表现良好。 对我来说,最好的方法应该是能够顺利地将MVC添加到现有的ASP.net 4.0网站中,并逐步将现有的Webforms迁移到MVC。(不想引发Webforms-MVC之争,只是寻求一些有关如何避免常见错误的提示。)
1个回答

2
  1. 在ASP.net网站中添加System.Web.Mvc引用
  2. 如果要支持MapRoute,您需要在web.config中添加以下代码:

<system.webServer>
 <validation validateIntegratedModeConfiguration="false"/>
 <modules runAllManagedModulesForAllRequests="true"/>
</system.webServer>

 3. add assembly reference in 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. add routes map in Global.asax,such as:


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项目并从那里复制一些结构。 - mdm

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接