От веб-форм до бритвы - PullRequest
       5

От веб-форм до бритвы

1 голос
/ 08 марта 2011

У меня есть сайт веб-форм .net 2.0, который был только что обновлен до .net 4. Теперь я хотел бы использовать синтаксис Razor и некоторые помощники mvc. Может ли кто-нибудь дать пошаговую процедуру, чтобы начать его использовать?

(Да, я знаю, что смешивать разные движки представлений непросто, но я не прошу этого. Просто чтобы иметь возможность создать новый _layout и новый ContentPage.cshtml и начать использовать некоторые из помощников mvc и заставить это работать параллельно со старыми страницами - я продублирую функциональность мастер-страницы, чтобы новые страницы были написаны бритвой, а старые страницы исправлены в веб-форме со старой мастер-страницей)

Мне просто нужно знать следующее:

  • Какие сборки мне нужно включить
  • Какие изменения в web.config мне нужны
  • Есть другие изменения?

Спасибо за любую помощь

Larsi

Ответы [ 5 ]

2 голосов
/ 08 марта 2011

Скотт Хансельман написал отличную статью об этом:

Интеграция ASP.NET MVC 3 в существующие обновленные приложения ASP.NET 4 Web Forms

1 голос
/ 08 марта 2011

Вам необходимо включить System.Web.Mvc версию 3.0.

В вашем файле web.config вы должны убедиться, что UrlRoutingModule зарегистрирован как HttpModule.Ваш IHttpHandler создается реализацией IRouteHandler, которая является MvcRouteHandler в ASP.NET Mvc.

Вам также нужно зарегистрировать свои маршруты в Global.asax для настройки маршрутизации.Регистрация маршрута по умолчанию (для проекта MVC2) выглядит следующим образом:

    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 = UrlParameter.Optional } // Parameter defaults
        );

    }

    protected void Application_Start()
    {
        AreaRegistration.RegisterAllAreas();

        RegisterRoutes(RouteTable.Routes);
    }

Я не уверен, что они внесли какие-либо изменения в Mvc 3 или нет, но вы можете узнать, создавновый проект Mvc Web Application в Visual Studio и открытие Global.asax

0 голосов
/ 12 апреля 2012

Telerik написал конвертер командной строки из aspx / ascx в cshtml для asp.net mvc.Вы можете найти это по адресу: https://github.com/telerik/razor-converter

Также есть хороший плагин для Visual Studio, который использует код Telerik по адресу: http://visualstudiogallery.msdn.microsoft.com/d2bfd1ca-9808-417c-b963-eb1ea4896790

0 голосов
/ 08 марта 2011

Этот конвертер поможет вам начать:
http://visualstudiogallery.msdn.microsoft.com/d2bfd1ca-9808-417c-b963-eb1ea4896790

0 голосов
/ 08 марта 2011

Вы можете взглянуть на обновление руководства ASP.NET MVC 2 Project до ASP.NET MVC 3 . Если у вас есть классическое приложение WebForms (не MVC), то миграция отсутствует => есть перезапись.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...