Можно ли использовать 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
Здесь есть несколько шагов, но это быстро работает, и источник из вышеприведенной статьи поможет вам пройти долгий путь.