Вы уже знаете о поддержке Razor-функций в Composite C1 4.0, а также мы уже обсудили, как создавать Razor-функции в админке системы (подсказка: легко и просто :)).
Если вам нужен IntelliSense, и вы вообще не можете жить без редактора кода Visual Studio, вам ничто не мешает создавать эти самые функции прямо в Студии.
Тем более, что существует специальное расширение для Visual Studio, которое добавляет два шаблона для создания файлов - Composite C1 Razor Function и Composite C1 Razor Template.
Я вам рекомендую установить расширение "Composite C1 Razor Extensions", если вы собираетесь создавать свои Razor-функции в Visual Studio.
Скачать его можно отсюда: CompositeC1RazorExtensions.vsix
После установки, у вас при добавлении нового нового объекта (Add | Add New Item...), в окне выбора шаблона должны появится упомянутые выше Composite C1 Razor Function и Composite C1 Razor Template.
Первый как раз и создает Razor-функцию.
Это важный вопрос. Дело в том, что файлы cshtml которые по сути и есть этими функциями должны находится в ~/App_Data/Razor. Это по умолчанию. (Чтобы хранить их в другой папке или разных папках, нужно изменить некоторые конфигурационные настройки. Об этом в другой раз.)
Это еще не все. В Composite C1 функции всегда принадлежат к какому-то пространству имен. Например, в Demo.Razor.CoolFunction, Demo.Razor - это и есть пространство имен.
В случае с Razor-функциями роль пространства имен играют вложенные друг в друга подпапки в ~/App_Data/Razor, а имя самого файла будет служить именем функции. Таким образом, чтобы получить функцию Demo.Razor.CoolFunction, нужно создать файл по такому пути: ~/App_Data/Razor/Demo/Razor/CoolFunction.cshtml.
И желательно добавить описание функции:
В шаблонном коде уже добавлен и используется один параметр. То есть у вас уже есть представление о параметрах в Razor-функциях. И в следующем сообщении мы остановимся на параметрах более подробно.
Если вам нужен IntelliSense, и вы вообще не можете жить без редактора кода Visual Studio, вам ничто не мешает создавать эти самые функции прямо в Студии.
Тем более, что существует специальное расширение для Visual Studio, которое добавляет два шаблона для создания файлов - Composite C1 Razor Function и Composite C1 Razor Template.
Расширение Composite C1 Razor Extensions
Я вам рекомендую установить расширение "Composite C1 Razor Extensions", если вы собираетесь создавать свои Razor-функции в Visual Studio.
Скачать его можно отсюда: CompositeC1RazorExtensions.vsix
После установки, у вас при добавлении нового нового объекта (Add | Add New Item...), в окне выбора шаблона должны появится упомянутые выше Composite C1 Razor Function и Composite C1 Razor Template.
Первый как раз и создает Razor-функцию.
Где хранятся файлы Razor-функций?
Это важный вопрос. Дело в том, что файлы cshtml которые по сути и есть этими функциями должны находится в ~/App_Data/Razor. Это по умолчанию. (Чтобы хранить их в другой папке или разных папках, нужно изменить некоторые конфигурационные настройки. Об этом в другой раз.)
Это еще не все. В Composite C1 функции всегда принадлежат к какому-то пространству имен. Например, в Demo.Razor.CoolFunction, Demo.Razor - это и есть пространство имен.
В случае с Razor-функциями роль пространства имен играют вложенные друг в друга подпапки в ~/App_Data/Razor, а имя самого файла будет служить именем функции. Таким образом, чтобы получить функцию Demo.Razor.CoolFunction, нужно создать файл по такому пути: ~/App_Data/Razor/Demo/Razor/CoolFunction.cshtml.
Создание Razor-функций в Visual Studio
- Установите расширение Composite C1 Razor Extensions, если вы этого еще не сделали.
- Откройте веб-сайт в Visual Studio.
- Добавьте необходимые подпапки в ~/App_Data/Razor, которые будут служить пространством имен функции.
- Вызовите контекстное меню на подпапке из шага 3 и выберите Add | Add New Item...
- В появившемся окне выберите Composite C1 Razor Function. (Можно воспользоваться поиском в окне: "С1" или что-то подобное).
- Укажите имя файла и...
- ...нажмите ОК.
@inhertis RazorFunction
И желательно добавить описание функции:
@functions {
public override string FunctionDescription
{
get { return "Демо-функция, выводящая сообщение: Превед, медвед!"; }
}
}
public override string FunctionDescription
{
get { return "Демо-функция, выводящая сообщение: Превед, медвед!"; }
}
}
В шаблонном коде уже добавлен и используется один параметр. То есть у вас уже есть представление о параметрах в Razor-функциях. И в следующем сообщении мы остановимся на параметрах более подробно.
Комментариев нет:
Отправить комментарий