Добавить MVC на существующий сайт ASP.net - PullRequest
4 голосов
/ 17 декабря 2011

Я искал в архивах и тоже погуглил, но, похоже, не могу найти руководство / лучшие практики / инструкции о том, как плавно добавлять функции на существующий веб-сайт ASP.net 4, добавляя их впоследний MVC.У меня есть веб-сайт, который был построен с ASP.net 1.0 и постепенно обновлялся до 4.0, теперь я хочу переключиться на MVC, но повторное создание всего веб-сайта в MVC - это слишком долгий процесс, поскольку у сайта много функций,и некоторые части просто хороши в веб-формах.Лучший способ для меня должен состоять в том, чтобы иметь возможность плавно добавлять MVC на этот существующий веб-сайт ASP.net 4.0 и постепенно переносить существующие веб-формы в MVC.

(Не хочу запускать пламя webforms-MVC,просто глядя на несколько советов о том, как избежать распространенных ошибок.)

1 Ответ

2 голосов
/ 17 декабря 2011
  1. добавить ссылку System.Web.Mvc на веб-сайте ASP.net
  2. для поддержки MapRoute, вам необходимо добавить следующий код в web.config:

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

3. добавить ссылку на сборку в web.config:

<code>
<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);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...