В данном разделе описаны методы классов QPage и QUserControl, предназначенные для работы с полями.
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.
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 не генерируется код для редактирования данного поля. Рекомендуется применять в случаях, когда вставка дополнительного кода может поломать верстку.
public string FormatField(string key)
Данный метод выполняет замену плейсхолдеров на URL.
Замена плейсхолдеров осуществляется на следующие URL:
Нужно применять данный метод при чтении данных статей во всех случаях, кроме использования LINQ-To-SQL классов и функции Field, в которые эта возможность уже встроена автоматически.
public string OnScreenFlyEdit(string Value, int ItemID, string FieldName)
Данный метод используется для того, чтобы получить функциональность режима OnScreen вне Publishing-контейнеров.
public string OnScreen(string Value, int ItemID)
Упрощенная версия метода OnScreenFlyEdit. C его помощью пользователь может отредактировать статью только с переходом в свойства статьи, а не непосредственно в режиме OnScreen.
Discussion