В С1 можно встраивать и использовать методы, написанные на C#.
В качестве введения, я приведу простой пример использования такого метода в С1. Это минимум, который необходимо знать, чтобы понимать как это работает в С1. (В других сообщениях на тему использования C# методов, я буду отталкиваться от этой базовой информации.)
Представим, что нам нужно на странице (-ах) выводить текущую дату. (И почему-то очень хочется сделать это при помощи C# :) ). Что нам для этого нужно? А нужно:
Важно! Те, кто используют Internet Explorer не смогут добавить функцию указанным выше способом (Insert | Function Markup). Вместо этого, нужно просто добавить XML код этой функции прямо в код страницы вот так:
В качестве введения, я приведу простой пример использования такого метода в С1. Это минимум, который необходимо знать, чтобы понимать как это работает в С1. (В других сообщениях на тему использования C# методов, я буду отталкиваться от этой базовой информации.)
Представим, что нам нужно на странице (-ах) выводить текущую дату. (И почему-то очень хочется сделать это при помощи C# :) ). Что нам для этого нужно? А нужно:
- Создать публичный класс и в нем создать публичный статичный метод, который будет возвращать строку, содержащую дату, отформатированную нужным нам способом.
- Добавить этот метод в С1 как внешнюю C# функцию.
- Использовать эту внешнюю C# функцию на странице (или в шаблоне для нескольких страниц, если нужно).
Приступим.
- Создаем нужный нам метод:
- Открываем сайт в Visual Studio.
- В папку App_Code в корневой папке сайта добавляем класс, скажем, Demo.Functions.cs
- Заменяем содержимое файла класса на такой код:
using System;
namespace Demo
{
public class Functions
{
public static string CurrentDate()
{
return DateTime.Now.ToLongDateString();
}
}
}
- Сохраняем файл.
- Теперь добавляем метод CurrentDate как внешнюю C# функцию в С1:
- F5, чтобы запустить сайт.
- Заходим в админку как администратор.
- В разделе "Функции" (Functions), выбираем узел C# Functions и нажимаем кнопку Add External C# Function.
- На первом шаге мастера, в поле Type набираем Demo.Functions, т.е. название нашего класса ("Functions") и его пространство имен ("Demo").
- Нажимаем кнопку Next - если мы все сделали правильно, то в списке Method name появится наш метод CurrentDate. (Так как мы создали только один метод, то в списке будет только он.)
- Выбираем наш метод CurrentDate и нажимаем Next.
- На следующем шаге мастера, просто соглашаемся с предложенным наименованием нашей C# функции (получится Demo.CurrentDate) и нажимаем Finish. (Функция появится в ветке C# functions.)
- И наконец, используем нашу функцию Demo.CurrentDate на странице сайта.
- В разделе "Контент" (Content) выбираем страницу и открываем ее на редактирование и на вкладке "Контент" (Content) страницы переключаемся в редактор кода (Source).
- Cтавим курсор туда, где мы хотим вставить нашу функцию и вызываем окно выбора функций (Insert | Function Markup).
- Раскрываем All Functions | Demo и выбираем функцию CurrentDate.
- Нажимаем ОК и сохраняем изменения на странице (Save).
- Делаем предварительный просмотр страницы (вкладка Preview).
На странице должно появится что-то вроде "Thursday, December 30, 2010".
<f:function name="Demo.CurrentDate" xmlns:f="http://www.composite.net/ns/function/1.0" />
Комментариев нет:
Отправить комментарий