Партнерка на США и Канаду по недвижимости, выплаты в крипто
- 30% recurring commission
- Выплаты в USDT
- Вывод каждую неделю
- Комиссия до 5 лет за каждого referral
Класс DbService
Конструктор:
public DbService(string connectionString, int userId)
Параметры идентичны параметрам класса ContentService.
public Dictionary<string, string> GetAppSettings()
Выполняет чтение настроек веб-приложения (ключ-значение), заданных в бекэнде (пункт контекстного меню «Настройки» для корневого элемента в дереве сущностей, свойство «Настройки приложения» (Application Settings)).
Классы QPage и QUserControlОсновные свойства
Свойство page_id
public int page_id { get; set; }
Идентификатор страницы. Свойство устанавливается механизмом сборки на уровне страницы.
Свойство page_template_id
public int page_template_id { get; set; }
Идентификатор шаблона. Свойство устанавливается механизмом сборки на уровне страницы.
Свойство site_id
public int site_id { get; set; }
Идентификатор сайта. Свойство устанавливается механизмом сборки на уровне страницы.
Свойство upload_url
public string upload_url { get; set; }
URI Библиотеки сайта. Свойство устанавливается на уровне страницы при её инициализации.
Пример:
<img src="<%# upload_url%>/my_photo. jpg">
Свойство site_url
public string site_url { get; set; }
URI корневой директории веб-сайта. Свойство устанавливается на уровне страницы при её инициализации.
Примечание: значения различаются в Live - и Stage-режимах.
Свойство absolute_site_url
public string absolute_site_url { get; set; }
URL корневой директории веб-сайта. Свойство устанавливается на уровне страницы при её инициализации.
Примечание: значения различаются в Live - и Stage-режимах.
Свойство IsStage
public bool IsStage { get; private set; }
Показывает, в каком режиме (Live или Stage) была собрана страница или элемент управления. Свойство устанавливается механизмом сборки на уровне страницы.
Свойство Cnn
public DBConnector Cnn { get; private set; }
Текущий экземпляр класса DBConnector.
Обычно на страницах QP не требуется прямое обращение к этому свойству, а достаточно стандартной функциональности, которую предоставляют классы QPage, QUserControl и QPublishControl. Свойство устанавливается на уровне страницы при её инициализации.
Свойство Values
public Hashtable Values { get; set; }
Коллекция Values. Свойство устанавливается на уровне страницы при ее инициализации.
Внимание: прямое обращение к коллекции не рекомендуется. Если такой код встречается при сопровождении, его нужно заменить на вызов одного из методов для работы c Values.
Основные методы
Раздел описывает методы, доступные из страниц и элементов управления веб-сайтом, реализованным на объектах QP (в классах, унаследованных от QPage и QUserControl).
Примечание: если возможностей данного API не хватает, то следует использовать расширенный API, реализованный в классе DBConnector. Экземпляр данного класса доступен на странице и в элементах управления сайтом через свойство Cnn.
Методы для вызова объектов
Метод ShowObject
public void ShowObject(string object_name)
public void ShowObject(string object_name, object sender)
public void ShowObject(string object_name, object sender, object[] parameters)
Вызывает объект из Code Behind.
Параметры:
Название | Описание |
object_name | Имя объекта. Поддерживаются вызовы в формате TemplateName. ObjectName. FormatName Примечание: задание TemplateName и FormatName не обязательно. |
sender | Родительский элемент управления, в коллекцию Controls которого должен быть загружен объект. При отсутствии параметра вызываемый объект будет загружен в коллекцию Controls текущего объекта. |
parameters | Параметры, которые будут переданы в конструктор соответствующего элемента управления (аналогично методу LoadControl). |
При загрузке объекта используется модифицированная последовательность событий, чтобы работал механизм Values. Для того, чтобы генерировалась оригинальная последовательность событий , нужно использовать метод ShowObjectSimple.
Пример:
ShowObject("Main. Menu", this);
Метод ShowObjectSimple
Внимание: метод несовместим с механизмом Values.
public void ShowObjectSimple(string object_name)
public void ShowObjectSimple(string object_name, sender)
public void ShowObjectSimple(string object_name, sender, object[] parameters)
Аналог метода ShowObject. Отличие в том, что при вызове метода генерируется оригинальная последовательность событий , что позволяет корректно восстанавливать ViewState для серверных элементов управления.
Метод GetInternalCall
public string GetInternalCall(string object_name)
Возвращает относительный путь к элементу управления, который может быть использован для его явной загрузки. Поддерживаются вызовы в формате TemplateName. ObjectName. FormatName.
Примечание: задание TemplateName и FormatName не обязательно.
Методы для работы с коллекцией Values
Метод AddValue
public void AddValue(string key, object value)
Добавляет пару “ключ-значение” в коллекцию Values.
Примечание: получить значение по ключу можно c помощью методов:
- DirtyValue, Value, StrValue, NumValue.
Пример:
AddValue("Age", 35);
Метод Value
string Value(string key)
Возвращает значение из коллекции Values по заданному ключу.
Примечание: ключ не зависит от регистра.
Внимание: из результата удаляются апострофы c целью предотвращения атак с использованием SQL-инъекций. Для получения неизменённого значения следует использовать метод DirtyValue.
Метод DirtyValue
public string DirtyValue(string key)
Возвращает значение из коллекции Values по заданному ключу без изменений.
Примечание: ключ не зависит от регистра.
Метод NumValue
public long NumValue(string key)
Возвращает значение из коллекции Values по заданному ключу.
Внимание: результат преобразуется в число. Если преобразование неуспешно, то возвращается значение 0. Таким образом, метод гарантированно возвращает число, что делает его безопасным с точки зрения атак с использованием SQL-инъекций. Рекомендуется для передачи числовых параметров в объект типа «Publishing Container».
Примечание: ключ не зависит от регистра.
Примечание: для безопасной передачи строковых параметров следует использовать метод StrValue.
Пример:
"[content_item_id] = " + NumValue("id")
Метод StrValue
public string StrValue(string key)
Возвращает значение из коллекции Values по заданному ключу.
Внимание: все апострофы в результирующей строке удваиваются, что предотвращает атаки с использованием SQL-инъекций. Рекомендуется для передачи строковых параметров в объект типа «Publishing Container».
Примечание: ключ не зависит от регистра.
Примечание: для безопасной передачи числовых параметров следует использовать метод NumValue.
Пример:
"[text] = '" + StrValue("text") + "'"
Методы для работы с полями
Метод Field
public string Field(DataRowView pDataItem, string key)
public string Field(DataRowView pDataItem, string key, string defaultValue)
public string Field(DataRow pDataItem, string key)
public string Field(DataRow pDataItem, string key, string defaultValue)
Возвращает значение поля статьи.
Внимание: для возвращаемого значения выполняется замена заполнителей. Если требуется выполнить только замену без чтения данных, то следует использовать метод FormatField.
Примечание: в режиме OnScreen метод генерирует ГПИ для изменения значения поля. Если это нежелательно, то следует использовать метод FieldNS.
Параметры:
Название | Описание |
pDataItem | Строка контентной таблицы, соответствующая статье. Примечание: версия с DataRowView обычно применяется в Presentation, с DataRow – в Code Behind. |
key | Имя поля. |
defaultValue | Значение по умолчанию. Используется, если значение, полученное из таблицы – NULL или пустая строка. |
Пример Presentation объекта «Publishing Container» с кодом по умолчанию:
<ItemTemplate>
...
<%# Field(((DataRowView)(Container. DataItem)), "Title")%>
...
</ItemTemplate>
Пример Code Behind объекта «Publishing Container» с кодом по умолчанию:
protected void OnItemCreated(Object sender, RepeaterItemEventArgs e) {
if ((e. Item. ItemType == ListItemType. Item) | (e. Item. ItemType == ListItemType. AlternatingItem)) {
...
string title = Field(Data. Rows[e. Item. ItemIndex], "Title");
...
}
}
Примечание: метод можно применять в любых объектах QP.
Метод FieldNS
public string FieldNS(DataRowView pDataItem, string key)
public string FieldNS(DataRowView pDataItem, string key, string defaultValue)
public string FieldNS(DataRow pDataItem, string key)
public string FieldNS(DataRow pDataItem, string key, string defaultValue)
Аналогичен методу Field. Отличие – в режиме OnScreen не генерируется код для изменения значения поля. Рекомендуется применять в случаях, когда вставка дополнительного кода может нарушить вёрстку веб-сайта.
Метод FormatField
public string FormatField(string key)
Выполняет замену заполнителей на URL. Замена осуществляется на следующие URL:
- upload_url, site_url или absolute_site_url (в зависимости от значения параметра UseAbsoluteSiteUrl).
Рекомендуется применять при чтении данных из статей во всех случаях, кроме использования классов LINQ to SQL и метода Field (уже обладают данной функциональностью).
Метод OnScreenFlyEdit
Внимание: режим OnScreen существует только в предыдущих версиях продукта.
public string OnScreenFlyEdit(string Value, int ItemID, string FieldName)
|
Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 |


