среда, 31 июля 2013 г.

Razor в Composite C1 CMS 4.0 (6): Возвращаемые значения Razor-функций

Продолжим изучение возможностей работы с Razor в версии 4.0 Composite C1 CMS.

Напомню, что в этой версии вы можете создавать C1-функции, используя синтаксис Razor. В предыдущих сообщениях, мы уже разобрались, как можно создавать такие функции в этой системе, и как работать с входными параметрами.

Теперь коснемся немного темы типа возвращаемого результата такой функции.


Изменение типа возвращаемого значения в Razor-функции



По умолчанию, все Razor-функции возвращают значение типа XhtmlDocument. Это логично и понятно.

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

Для этого вам нужно воспользоваться публичным переопределяемым свойством FunctionReturnType.

Понятно, что указываемый вами тип должен иметь смысл в контексте содержимого результата Razor-функции.

Вот как изменить тип возвращаемого значения на строку (string):

@inherits RazorFunction

@functions
{
    public override string FunctionDescription
    {
       get { return "Демо-функция, возвращающее значение типа строка."; }
    }

    public override Type FunctionReturnType
    {
        get { return typeof(string); }
    }
}

Сейчас: @DateTime.Now

А вот как изменить его на XElement:

@inherits RazorFunction

@functions
{
    public override string FunctionDescription
    {
        get { return "Демо-функция, возвращающее значение типа XElement."; }
    }

    public override Type FunctionReturnType
    {
        get { return typeof(XElement); }
    }
}

<element example="true" datetime="@DateTime.Now" />

Комментариев нет:

Отправить комментарий