Table of Contents

Методы для работы с полями

В данном разделе описаны методы классов QPage и QUserControl, предназначенные для работы с полями.

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 функция Field генерирует редактируемую обертку (тег div с тулбаром). Если данное поведение нежелательно, то нужно использовать функцию FieldNS.

Параметры

Примеры

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");
...
  }
}

Метод Field можно применять в любых объектах, а не только в объектах типа Publishing Container.

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:

Нужно применять данный метод при чтении данных статей во всех случаях, кроме использования LINQ-To-SQL классов и функции Field, в которые эта возможность уже встроена автоматически.

OnScreenFlyEdit

public string OnScreenFlyEdit(string Value, int ItemID, string FieldName)

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

Параметры

OnScreen

public string OnScreen(string Value, int ItemID)

Упрощенная версия метода OnScreenFlyEdit. C его помощью пользователь может отредактировать статью только с переходом в свойства статьи, а не непосредственно в режиме OnScreen.