Можем ли мы использовать Razor на существующем веб-сайте ASP.NET 4?

Можно ли использовать Razor на существующем веб-сайте ASP.NET 4?

Ответ 1

Вам даже не нужно открывать сайт в веб-матрице, если у вас уже установлены VS2010 и MVC3 (включая инструменты Visual Studio для создания сайтов Razor ASP.NET). Установка MVC 3 делает библиотеки необходимыми для разработки страниц Razor доступными даже для существующих веб-приложений.

См:

http://www.asp.net/webmatrix/tutorials/program-asp-net-web-pages-in-visual-studio

Вам не нужно создавать новый веб-сайт (согласно инструкциям). Вы можете просто открыть существующий веб-сайт, щелкнуть правой кнопкой мыши корневую папку сайта, нажать "Добавить элемент", и в качестве опции вы должны увидеть "Веб-страницу (Razor)".

Inellisense и отладка работают на страницах Razor так же, как страницы веб-форм

Как указано выше, имейте в виду, что веб-страницы ASP.Net(Razor) и ASP.Net WebForms - это действительно разные платформы, а используемые для повторного использования компоненты не могут (или, по крайней мере, не должны) использоваться

Ответ 2

Да, вы можете использовать Razor с существующим ASP.NET WebSite. Просто откройте свой сайт с помощью инструмента WebMatrix и начните добавлять файлы CSHTML. Одно из предостережений заключается в том, что если ваш веб-сайт использует элементы управления WebForms, инструмент WebMatrix не будет предоставлять никакой помощи, работающей с ними на существующих страницах aspx. Кроме того, Razor не поддерживает WebForms, поэтому вы не сможете добавить что-то вроде <asp:GridView> в файл CSHTML.

Ответ 3

marcind является правильным, если вы хотите открыть существующий веб-сайт ASP.NET в WebMatrix и работать с ним изнутри инструмента. Если, с другой стороны (или в дополнение к), вы хотите использовать синтаксис Razor на своем сайте и оставаться в VisualStudio, ознакомьтесь с этой статьей: http://weblogs.asp.net/rashid/archive/2010/07/10/use-razor-as-asp-net-mvc-viewengine.aspx

Есть четыре вещи, которые вам нужно сделать:

  • Добавьте ссылки на сборки Razor, установленные с помощью WebMatrix. Их можно найти в папке C:\Program Files\Microsoft ASP.NET\Web-страницы ASP.NET\v1.0\Assemblies

  • Создайте собственный класс ViewEngine, класс View, который наследует от IView (не так сложно, проверьте источник в статье выше)

  • Добавьте новый ViewEngine в Global.asax Application_Start()

    ViewEngines.Engines.Add(new RazorViewEngine(("cs"));
    
  • Создайте страницы просмотра с расширением .cshtml вместо .aspx

Здесь есть несколько шагов, но это быстро работает, и источник из вышеприведенной статьи поможет вам пройти долгий путь.