Так как поддержка Razor теперь встроена в ядро системы, вы можете создавать Razor-функции не прибегая к помощи сторонних пакетов расширения.
Кроме того, создание Razor-функций теперь упрощено до безобразия. И вы можете создать Razor-функцию как в админке в разделе "Функции", так и в Visual Studio.
Причем во втором случае для удобства создания Razor-функций вы можете установить расширение для Студии, которое добавит нужные шаблоны.
Но давайте по порядку.
Только что созданная функция уже будет иметь шаблонный код.
А вообще, чтобы .cshtml-файл стал Razor-функцией в Composite C1, должны быть соблюдены следующие требования:
Кроме того, создание Razor-функций теперь упрощено до безобразия. И вы можете создать Razor-функцию как в админке в разделе "Функции", так и в Visual Studio.
Причем во втором случае для удобства создания Razor-функций вы можете установить расширение для Студии, которое добавит нужные шаблоны.
Но давайте по порядку.
Создание Razor-функций в админке Composite C1
- В разделе "Функции" выберите Razor Functions.
- ...и нажмите кнопку Add Razor Function на панели.
- В появившемся окне, заполните поля:
- Name: Название функции
- Namespace: Пространство имен, которому функция будет принадлежать.
- Оставьте пункт (New Razor function) в списке Copy from, если вам нужна новая функция, или выберите код какой существующей Razor-функции копировать при создании.
- Нажмите OK.
В правой панели в редакторе кода откроется только что созданный .cshtml-файл, который по сути и является этой Razor-функцией.
Шаблонный код Razor-функции
Только что созданная функция уже будет иметь шаблонный код.
@inherits RazorFunction
@functions {
public override string FunctionDescription
{
get { return "A demo function that outputs a hello message."; }
}
[FunctionParameter(DefaultValue = "World")]
public string Name { get; set; }
}
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:f="http://www.composite.net/ns/function/1.0">
<head>
</head>
<body>
<div>
Hello @Name!
</div>
</body>
</html>
@functions {
public override string FunctionDescription
{
get { return "A demo function that outputs a hello message."; }
}
[FunctionParameter(DefaultValue = "World")]
public string Name { get; set; }
}
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:f="http://www.composite.net/ns/function/1.0">
<head>
</head>
<body>
<div>
Hello @Name!
</div>
</body>
</html>
.cshtml-файл как Razor-функция
А вообще, чтобы .cshtml-файл стал Razor-функцией в Composite C1, должны быть соблюдены следующие требования:
- Файл должен быть помещен в 1+ подпапку в ~/App_Data/Razor. Если вам нужна функция Demo.Razor.CoolFunction, файл должен быть создан как ~/App_Data/Razor/Demo/Razor/CoolFunction.cshtml. Если вы создаете функцию в админке, система сама позаботится о правильном размещении и наименовании папок и файла.
- Наследование в файле должно быть от RazorFunction: @inherits RazorFunction
А о добавлении параметров и редактировании Razor-функций мы поговорим в одних из следующих сообщений.
А в следующем сообщении мы рассмотрим как создавать Razor-функцию в Visual Studio.
Комментариев нет:
Отправить комментарий