This shows you the differences between two versions of the page.
api:qpage:values [2012/06/19 13:40] celutp created |
api:qpage:values [2012/06/19 14:06] (current) celutp |
||
---|---|---|---|
Line 1: | Line 1: | ||
====== Методы для работы с коллекцией Values ====== | ====== Методы для работы с коллекцией Values ====== | ||
- | Values - коллекция уровня страницы. Время жизни - текущий запрос. [[development:values|Подробнее о механизме Values]]. | + | //Values// - [[api:qpage#Values|коллекция уровня страницы]]. Время жизни - текущий запрос. [[development:values|Подробнее о механизме Values]]. |
===== AddValue ===== | ===== AddValue ===== | ||
- | <code c#>void AddValue(string key, Object value)</code> | + | <code csharp> public void AddValue(string key, object value)</code> |
- | Метод добавляет пару ключ/значение в коллекцию Values. Пара ключ/значение может затем быть получена c помощью методов [[#DirtyValue]], [[#Value]], [[#StrValue]], [[#NumValue]]. | + | Метод добавляет пару ключ/значение в коллекцию [[api:qpage#Values]]. Получить значение по ключу можно затем c помощью методов [[#DirtyValue]], [[#Value]], [[#StrValue]], [[#NumValue]]. |
- | Example: | + | === Пример === |
- | <code c#>AddValue("Age", 35);</code> | + | <code csharp>AddValue("Age", 35);</code> |
===== Value ===== | ===== Value ===== | ||
- | <code c#>string Value(string key)</code> | + | <code csharp>string Value(string key)</code> |
Возвращает значение из коллекции Values по заданному ключу (ключ не зависит от регистра). С целью предотвращения атаки типа SQL-инъекции из результата удаляются апострофы. Используйте метод [[#DirtyValue]], чтобы прочитать неизмененное значение. | Возвращает значение из коллекции Values по заданному ключу (ключ не зависит от регистра). С целью предотвращения атаки типа SQL-инъекции из результата удаляются апострофы. Используйте метод [[#DirtyValue]], чтобы прочитать неизмененное значение. | ||
===== DirtyValue ===== | ===== DirtyValue ===== | ||
- | <code c#>string DirtyValue(string key)</code> | + | <code csharp>public string DirtyValue(string key)</code> |
Возвращает значение из коллекции Values по заданному ключу (ключ не зависит от регистра). В отличие от других методов не изменяет возвращаемый результат. | Возвращает значение из коллекции Values по заданному ключу (ключ не зависит от регистра). В отличие от других методов не изменяет возвращаемый результат. | ||
===== NumValue ===== | ===== NumValue ===== | ||
- | <code c#>long NumValue(string key)</code> Возвращает значение из коллекции Values по заданному ключу (ключ не зависит от регистра). Результат преобразуется в число. Если преобразование неуспешно, то возвращается 0. Таким образом метод гарантированно возвращает число, что делает его безопасным с точки зрения атаки типа SQL-иньекции. Поэтому он рекомендуется для передачи числовых параметров в объект типа Publishing Container. Для безопасной передачи строковых параметров используйте метод [[#StrValue]]. | + | <code csharp>public long NumValue(string key)</code> Возвращает значение из коллекции Values по заданному ключу (ключ не зависит от регистра). Результат преобразуется в число. Если преобразование неуспешно, то возвращается 0. Таким образом метод гарантированно возвращает число, что делает его безопасным с точки зрения атаки типа SQL-иньекции. Поэтому он рекомендуется для передачи числовых параметров в объект типа Publishing Container. Для безопасной передачи строковых параметров используйте метод [[#StrValue]]. |
- | Example: | + | === Пример === |
- | <code c#>"[content_item_id] = " + NumValue("id")</code> | + | <code csharp>"[content_item_id] = " + NumValue("id")</code> |
===== StrValue ===== | ===== StrValue ===== | ||
- | <code c#>string StrValue(string key)</code> - Возвращает значение из коллекции Values по заданному ключу (ключ не зависит от регистра). Все апострофы в результирующей строке удваиваются, что предотвращает атаку типа SQL-инъекции с использованием данного параметра. Рекомендуется использовать данный метод при передаче строковых параметров в объект типа Publishing Container. Для передачи числовых параметров используйте метод [[#NumValue]]. | + | <code csharp>public string StrValue(string key)</code> |
+ | Возвращает значение из коллекции Values по заданному ключу (ключ не зависит от регистра). Все апострофы в результирующей строке удваиваются, что предотвращает атаку типа SQL-инъекции с использованием данного параметра. Рекомендуется использовать данный метод при передаче строковых параметров в объект типа Publishing Container. Для передачи числовых параметров используйте метод [[#NumValue]]. | ||
- | Example: | + | === Пример === |
- | <code c#>"[text] = '" + StrValue("text") + "'"</code> | + | <code csharp>"[text] = '" + StrValue("text") + "'"</code> |
- | ===== Values ===== | ||
- | <code c#>Hashtable Values</code> | ||
- | |||
- | Прямое обращение к коллекции Values не рекомендуется. Если такой код встречается при сопровождении, его нужно заменить на вызов одного из методов, описанных в этом разделе. | ||