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 добавляется в коллекцию SelectParametersAdd с помощью метода.
Это важно
В этом примере есть текстовое поле, которое принимает входные данные пользователя, которое является потенциальной угрозой безопасности. По умолчанию 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 переменных, HTTP-файлах cookie, переменных сеанса и других элементах управления, к элементам управления источниками данных при получении, обновлении, удалении и вставке данных.
ParameterCollection Используйте класс для программного управления набором Parameter объектов. Можно добавлять, вставлять и удалять Parameter объекты с помощью соответствующих методов ParameterCollection класса. Чтобы программным способом извлечь Parameter объекты из коллекции, используйте один из следующих методов:
Используйте индексатор для получения одного Parameter объекта из коллекции по имени или с использованием нотации массива.
GetEnumerator Используйте метод для создания System.Collections.IEnumeratorобъекта-реализации, который затем можно использовать для получения элементов из коллекции.
Свойство Count указывает общее количество элементов в коллекции и используется для определения верхней границы коллекции. Вы можете добавлять и удалять элементы из коллекции с помощью Addметодов , InsertRemoveа также методов.RemoveAt
В зависимости от реализации и семантики определенного элемента управления источниками данных порядок хранения параметров в ParameterCollection коллекции может быть важным. Например, при использовании SqlDataSource элемента управления в качестве источника данных ODBC порядок объектов в ParameterCollection коллекции должен совпадать с порядком Parameter параметров в параметризованных запросах 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) |
Удаляет указанный ParameterParameterCollection объект из коллекции. |
| 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) |
Методы расширения
| Имя | Описание |
|---|---|
| AsParallel(IEnumerable) |
Включает параллелизацию запроса. |
| AsQueryable(IEnumerable) |
Преобразует IEnumerable в IQueryable. |
| Cast<TResult>(IEnumerable) |
Приведение элементов IEnumerable к указанному типу. |
| OfType<TResult>(IEnumerable) |
Фильтрует элементы IEnumerable на основе указанного типа. |