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

149
11

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

спросил(а) 2021-01-19T18:01:07+03:00 2 месяца, 3 недели назад
1
Решение
136

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

ответил(а) 2021-01-19T18:01:07+03:00 2 месяца, 3 недели назад
76

Вам даже не нужно открывать сайт в веб-матрице, если у вас уже установлены 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 - это действительно разные платформы, а используемые для повторного использования компоненты не могут (или, по крайней мере, не должны) использоваться

ответил(а) 2021-01-19T18:01:07+03:00 2 месяца, 3 недели назад
62

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


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

ответил(а) 2021-01-19T18:01:07+03:00 2 месяца, 3 недели назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема