ParameterCollection Класс
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
public ref class ParameterCollection : System::Web::UI::StateManagedCollection
public class ParameterCollection : System.Web.UI.StateManagedCollection
type ParameterCollection = class
inherit StateManagedCollection
Public Class ParameterCollection
Inherits StateManagedCollection
- Наследование
Примеры
В следующем примере кода показано, как использовать AccessDataSource элемент управления и для FormParameter отображения сведений из базы данных Microsoft Access в элементе GridView управления . Объект FormParameter добавляется в коллекцию SelectParameters с помощью Add метода .
Важно!
В этом примере имеется текстовое поле, принимающее вводимые пользователем данные, что является потенциальной угрозой безопасности. По умолчанию данные, вводимые пользователем на веб-страницах ASP.NET, проверяются на наличие скриптов и HTML-элементов. Дополнительные сведения см. в разделе Общие сведения об использовании сценариев.
<%@Page Language="C#" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
void Page_Load(Object sender, EventArgs e){
// You can add a FormParameter to the AccessDataSource control's
// SelectParameters collection programmatically.
AccessDataSource1.SelectParameters.Clear();
// Security Note: The AccessDataSource uses a FormParameter,
// Security Note: which does not perform validation of input from the client.
// Security Note: To validate the value of the FormParameter,
// Security Note: handle the Selecting event.
FormParameter formParam = new FormParameter("lastname","LastNameBox");
formParam.Type=TypeCode.String;
AccessDataSource1.SelectParameters.Add(formParam);
}
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>ASP.NET Example</title>
</head>
<body>
<form id="form1" runat="server">
<asp:accessdatasource
id="AccessDataSource1"
runat="server"
datasourcemode="DataSet"
datafile="Northwind.mdb"
selectcommand="SELECT OrderID,CustomerID,OrderDate,RequiredDate,ShippedDate
FROM Orders WHERE EmployeeID =
(SELECT EmployeeID FROM Employees WHERE LastName = @lastname)">
</asp:accessdatasource>
<br />Enter the name "Davolio" or "King" in the text box and click the button.
<br />
<asp:textbox
id="LastNameBox"
runat="server" />
<br />
<asp:button
id="Button1"
runat="server"
text="Get Records" />
<br />
<asp:gridview
id="GridView1"
runat="server"
allowsorting="True"
datasourceid="AccessDataSource1">
</asp:gridview>
</form>
</body>
</html>
<%@Page Language="VB" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
Private Sub Page_Load(sender As Object, e As EventArgs)
' You can add a FormParameter to the AccessDataSource control's
' SelectParameters collection programmatically.
AccessDataSource1.SelectParameters.Clear()
' Security Note: The AccessDataSource uses a FormParameter,
' Security Note: which does not perform validation of input from the client.
' Security Note: To validate the value of the FormParameter,
' Security Note: handle the Selecting event.
Dim formParam As New FormParameter("lastname","LastNameBox")
formParam.Type=TypeCode.String
AccessDataSource1.SelectParameters.Add(formParam)
End Sub ' Page_Load
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>ASP.NET Example</title>
</head>
<body>
<form id="form1" runat="server">
<asp:accessdatasource
id="AccessDataSource1"
runat="server"
datasourcemode="DataSet"
datafile="Northwind.mdb"
selectcommand="SELECT OrderID,CustomerID,OrderDate,RequiredDate,ShippedDate
FROM Orders WHERE EmployeeID =
(SELECT EmployeeID FROM Employees WHERE LastName = @lastname)">
</asp:accessdatasource>
<br />Enter the name "Davolio" or "King" in the text box and click the button.
<br />
<asp:textbox
id="LastNameBox"
runat="server" />
<br />
<asp:button
id="Button1"
runat="server"
text="Get Records" />
<br />
<asp:gridview
id="GridView1"
runat="server"
allowsorting="True"
datasourceid="AccessDataSource1">
</asp:gridview>
</form>
</body>
</html>
Комментарии
Класс ParameterCollection представляет коллекцию объектов, используемых в расширенных Parameter сценариях привязки данных с элементами управления источником данных. Объекты Parameter используются для привязки значений, содержащихся в локальных Page переменных, файлах cookie HTTP, переменных сеанса и других элементах управления, к элементам управления источником данных при получении, обновлении, удалении и вставке данных.
Используйте класс для ParameterCollection программного управления набором Parameter объектов . Вы можете добавлять, вставлять и удалять Parameter объекты с помощью соответствующих методов ParameterCollection класса . Для программного извлечения Parameter объектов из коллекции используйте один из следующих методов:
Используйте индексатор, чтобы получить один Parameter объект из коллекции по имени или с помощью нотации массива.
Используйте метод , GetEnumerator чтобы создать реализованный System.Collections.IEnumeratorобъект, который затем можно использовать для получения элементов из коллекции.
Свойство Count указывает общее количество элементов в коллекции и используется для определения верхней границы коллекции. Вы можете добавлять и удалять элементы из коллекции с помощью Addметодов , Insert, Removeи RemoveAt .
В зависимости от реализации и семантики конкретного элемента управления источником данных может быть важен порядок хранения параметров в ParameterCollection коллекции. Например, при использовании SqlDataSource элемента управления в качестве источника данных ODBC порядок Parameter объектов в ParameterCollection коллекции должен совпадать с порядком параметров в параметризованных SQL-запросах, которые вы используете. Однако при использовании SqlDataSource элемента управления с Microsoft SQL Server порядок Parameter объектов не важен.
Важно!
При использовании элементов управления источником данных значения вставляются в параметры команды без проверки, что является потенциальной угрозой безопасности. Используйте событие в элементе управления источником данных для проверки значений параметров перед выполнением команды. Дополнительные сведения см. в разделе Общие сведения об использовании сценариев.
В следующей таблице перечислены различные классы параметров и способы их использования.
Класс параметров | Описание |
---|---|
Parameter | Класс базовых параметров. Используйте его для привязки к локальной переменной или любой статической строке DefaultValue с помощью свойства . |
ControlParameter | Параметр, который можно использовать для привязки к возвращаемого значению свойства или метода элемента управления. |
CookieParameter | Параметр, который можно использовать для привязки к значению файла cookie. |
FormParameter | Параметр, который можно использовать для привязки к атрибуту текущей страницы веб-форм. |
QueryStringParameter | Параметр, который можно использовать для привязки к значению, переданному на страницу веб-форм в строке запроса. |
SessionParameter | Параметр, который можно использовать для привязки к значению переменной сеанса. |
ProfileParameter | Параметр, который можно использовать для привязки к значению свойства ASP.NET Profile. |
Конструкторы
ParameterCollection() |
Инициализирует класс для использования экземпляром унаследованного класса. Этот конструктор может быть вызван только унаследованным классом. |
Свойства
Count |
Получает количество элементов, содержащихся в коллекции StateManagedCollection. (Унаследовано от StateManagedCollection) |
Item[Int32] |
Получает или задает объект Parameter по указанному индексу в коллекции. |
Item[String] |
Возвращает или задает объект Parameter с указанным именем в коллекции. |
Методы
Add(Parameter) |
Добавляет указанный объект Parameter в конец коллекции. |
Add(String, DbType, String) |
Создает объект Parameter с заданным именем, типом базы данных и значением по умолчанию и добавляет его в конец коллекции. |
Add(String, String) |
Создает объект Parameter с заданным именем и значением по умолчанию и добавляет его в конец коллекции. |
Add(String, TypeCode, String) |
Создает объект Parameter с заданным именем TypeCode и значением по умолчанию и добавляет его в конец коллекции. |
Clear() |
Удаляет все элементы из коллекции StateManagedCollection. (Унаследовано от StateManagedCollection) |
Contains(Parameter) |
Определяет, содержит ли коллекция ParameterCollection указанное значение. |
CopyTo(Array, Int32) |
Копирует элементы коллекции StateManagedCollection в массив, начиная с определенного индекса в массиве. (Унаследовано от StateManagedCollection) |
CopyTo(Parameter[], Int32) |
Копирует указанный индекс массива параметров в коллекцию параметров. |
CreateKnownType(Int32) |
Создает экземпляр заданного по умолчанию объекта Parameter. |
Equals(Object) |
Определяет, равен ли указанный объект текущему объекту. (Унаследовано от Object) |
GetEnumerator() |
Возвращает итератор, осуществляющий перебор коллекции StateManagedCollection. (Унаследовано от StateManagedCollection) |
GetHashCode() |
Служит хэш-функцией по умолчанию. (Унаследовано от Object) |
GetKnownTypes() |
Получает массив типов Parameter, которые могут содержаться в коллекции ParameterCollection. |
GetType() |
Возвращает объект Type для текущего экземпляра. (Унаследовано от Object) |
GetValues(HttpContext, Control) |
Получает упорядоченную коллекцию имен объектов Parameter и соответствующих им значений, которые в данный момент содержатся в коллекции. |
IndexOf(Parameter) |
Определяет индекс указанного объекта Parameter в коллекции ParameterCollection. |
Insert(Int32, Parameter) |
Вставляет указанный объект Parameter в коллекцию ParameterCollection по указанному индексу. |
MemberwiseClone() |
Создает неполную копию текущего объекта Object. (Унаследовано от Object) |
OnClear() |
При переопределении в производном классе выполняет дополнительные действия перед тем, как метод Clear() удалит все элементы из коллекции. (Унаследовано от StateManagedCollection) |
OnClearComplete() |
Выполняет дополнительные пользовательские действия после очистки содержимого коллекции. |
OnInsert(Int32, Object) |
Происходит перед вызовом метода Insert(Int32, Parameter). |
OnInsertComplete(Int32, Object) |
Происходит после завершения выполнения метода Insert(Int32, Parameter). |
OnParametersChanged(EventArgs) |
Вызывает событие ParametersChanged. |
OnRemove(Int32, Object) |
При переопределении в производном классе выполняет дополнительные действия перед тем, как метод IList.Remove(Object) или IList.RemoveAt(Int32) удалит указанный элемент из коллекции. (Унаследовано от StateManagedCollection) |
OnRemoveComplete(Int32, Object) |
Происходит после завершения выполнения метода Remove(Parameter). |
OnValidate(Object) |
Выполняет дополнительные пользовательские операции при проверке значения. |
Remove(Parameter) |
Удаляет указанный объект Parameter из коллекции ParameterCollection. |
RemoveAt(Int32) |
Удаляет объект Parameter по указанному индексу из коллекции ParameterCollection. |
SetDirty() |
Обеспечивает принудительную сериализацию всей коллекции StateManagedCollection в состояние представления. (Унаследовано от StateManagedCollection) |
SetDirtyObject(Object) |
Обозначает указанный объект Parameter как измененный с момента последней загрузки из данных о состоянии представления или сохранения. |
ToString() |
Возвращает строку, представляющую текущий объект. (Унаследовано от Object) |
UpdateValues(HttpContext, Control) |
Выполняет итерацию объектов Parameter, содержащихся в коллекции, и вызывает для каждого из них метод |
События
ParametersChanged |
Происходит при изменении состояния одного или нескольких объектов Parameter, содержащихся в коллекции. |
Явные реализации интерфейса
ICollection.Count |
Получает количество элементов, содержащихся в коллекции StateManagedCollection. (Унаследовано от StateManagedCollection) |
ICollection.IsSynchronized |
Получает значение, указывающее, является ли коллекция StateManagedCollection синхронизированной (потокобезопасной). Этот метод возвращает значение |
ICollection.SyncRoot |
Получает объект, который можно использовать для синхронизации доступа к коллекции StateManagedCollection. Этот метод возвращает значение |
IEnumerable.GetEnumerator() |
Возвращает итератор, осуществляющий перебор коллекции StateManagedCollection. (Унаследовано от StateManagedCollection) |
IList.Add(Object) |
Добавляет элемент в коллекцию StateManagedCollection. (Унаследовано от StateManagedCollection) |
IList.Clear() |
Удаляет все элементы из коллекции StateManagedCollection. (Унаследовано от StateManagedCollection) |
IList.Contains(Object) |
Определяет, содержит ли коллекция StateManagedCollection указанное значение. (Унаследовано от StateManagedCollection) |
IList.IndexOf(Object) |
Определяет индекс указанного элемента в коллекции StateManagedCollection. (Унаследовано от StateManagedCollection) |
IList.Insert(Int32, Object) |
Вставляет элемент в коллекцию StateManagedCollection по указанному индексу. (Унаследовано от StateManagedCollection) |
IList.IsFixedSize |
Получает значение, указывающее, имеет ли коллекция StateManagedCollection фиксированный размер. Этот метод возвращает значение |
IList.IsReadOnly |
Получает значение, указывающее, является ли коллекция StateManagedCollection доступной только для чтения. (Унаследовано от StateManagedCollection) |
IList.Item[Int32] |
Возвращает элемент IStateManager по указанному индексу. (Унаследовано от StateManagedCollection) |
IList.Remove(Object) |
Удаляет первое вхождение указанного объекта из коллекции StateManagedCollection. (Унаследовано от StateManagedCollection) |
IList.RemoveAt(Int32) |
Удаляет элемент IStateManager по указанному индексу. (Унаследовано от StateManagedCollection) |
IStateManager.IsTrackingViewState |
Получает значение, указывающее, сохраняет ли коллекция StateManagedCollection изменения в свое состояние представления. (Унаследовано от StateManagedCollection) |
IStateManager.LoadViewState(Object) |
Восстанавливает сохраненное раннее состояние представления коллекции StateManagedCollection и элементов IStateManager, которые она содержит. (Унаследовано от StateManagedCollection) |
IStateManager.SaveViewState() |
Сохраняет изменения коллекции StateManagedCollection и каждого объекта IStateManager, который она содержит, с момента обратной передачи страницы серверу. (Унаследовано от StateManagedCollection) |
IStateManager.TrackViewState() |
Способствует тому, что коллекция StateManagedCollection и каждый из ее объектов IStateManager отслеживают изменения в их состоянии представления, поэтому они могут сохраняться среди запросов для той же страницы. (Унаследовано от StateManagedCollection) |
Методы расширения
Cast<TResult>(IEnumerable) |
Приводит элементы объекта IEnumerable к заданному типу. |
OfType<TResult>(IEnumerable) |
Выполняет фильтрацию элементов объекта IEnumerable по заданному типу. |
AsParallel(IEnumerable) |
Позволяет осуществлять параллельный запрос. |
AsQueryable(IEnumerable) |
Преобразовывает коллекцию IEnumerable в объект IQueryable. |