ParameterCollection クラス

定義

高度なデータ バインディング シナリオでデータ ソース コントロールによって使用される、Parameter および Parameter 派生オブジェクトのコレクションを表します。Represents a collection of Parameter and Parameter-derived objects that are used by data source controls in advanced data-binding scenarios.

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
継承
ParameterCollection

次のコード例では、@no__t 0 コントロールと FormParameter を使用して、Microsoft Access データベースからの情報を @no__t 2 コントロールに表示する方法を示します。The following code example demonstrates how to use an AccessDataSource control and a FormParameter to display information from a Microsoft Access database in a GridView control. @No__t-0 オブジェクトが、Add メソッドを使用して SelectParameters コレクションに追加されます。The FormParameter object is added to the SelectParameters collection using the Add method.

重要

この例には、ユーザー入力を受け付けるテキスト ボックスがあります。これにより、セキュリティが脆弱になる可能性があります。This example has a text box that accepts user input, which is a potential security threat. 既定では、ASP.NET Web ページによって、ユーザー入力にスクリプトまたは HTML 要素が含まれていないかどうかが検証されます。By default, ASP.NET Web pages validate that user input does not include script or HTML elements. 詳細については、「スクリプトによる攻略の概要」を参照してください。For more information, see Script Exploits Overview.

<%@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>

注釈

@No__t 0 クラスは、データソースコントロールを使用した高度なデータバインディングシナリオで使用される @no__t 1 オブジェクトのコレクションを表します。The ParameterCollection class represents a collection of Parameter objects used in advanced data-binding scenarios with data source controls. @No__t 0 のオブジェクトを使用して、データの取得、更新、削除、および挿入を行うときに、ローカルの Page 変数、HTTP cookie、セッション変数、およびその他のコントロールの値に含まれる値をデータソースコントロールにバインドします。The Parameter objects are used to bind the values contained by local Page variables, HTTP cookies, session variables, and other controls' values to data source controls when retrieving, updating, deleting, and inserting data.

@No__t-0 クラスを使用して、一連の Parameter オブジェクトをプログラムで管理します。Use the ParameterCollection class to programmatically manage a set of Parameter objects. @No__t-1 クラスの適切なメソッドを使用して、@no__t 0 のオブジェクトを追加、挿入、および削除できます。You can add, insert, and remove Parameter objects using the appropriate methods of the ParameterCollection class. プログラムによってコレクションから @no__t 0 のオブジェクトを取得するには、次のいずれかの方法を使用します。To programmatically retrieve Parameter objects from a collection, use one of following methods:

  • インデクサーを使用して、名前または配列表記を使用して、コレクションから1つの @no__t 0 オブジェクトを取得します。Use the indexer to get a single Parameter object from the collection, by name or using array notation.

  • @No__t-0 メソッドを使用して、System.Collections.IEnumerator 実装オブジェクトを作成します。このオブジェクトを使用して、コレクションから項目を取得できます。Use the GetEnumerator method to create a System.Collections.IEnumerator-implemented object, which can then be used to get items from the collection.

@No__t-0 プロパティは、コレクション内の項目の合計数を指定し、コレクションの上限を決定するために使用されます。The Count property specifies the total number of items in the collection, and is used to determine the upper bound of the collection. @No__t-0、InsertRemove、および RemoveAt の各メソッドを使用して、コレクションの項目を追加および削除できます。You can add and remove items from the collection by using the Add, Insert, Remove, and RemoveAt methods.

特定のデータソースコントロールの実装とセマンティクスによっては、パラメーターが @no__t 0 コレクションに格納される順序が重要になる場合があります。Depending on the implementation and the semantics of a particular data source control, the order in which the parameters are stored in the ParameterCollection collection might be important. たとえば、SqlDataSource コントロールを ODBC データソースとして使用する場合、ParameterCollection コレクション内の Parameter オブジェクトの順序は、使用するパラメーター化された SQL クエリのパラメーターの順序と同じである必要があります。For example, when using the SqlDataSource control as an ODBC data source, the order of the Parameter objects in the ParameterCollection collection must be the same as the order of the parameters in the parameterized SQL queries you use. ただし、Microsoft SQL Server で @no__t 0 コントロールを使用する場合、Parameter オブジェクトの順序は重要ではありません。However, when using the SqlDataSource control with Microsoft SQL Server, the order of the Parameter objects are not important.

重要

データソースコントロールを使用する場合、値は検証せずにコマンドパラメーターに挿入されます。これは、セキュリティ上の脅威となる可能性があります。When you use data source controls, values are inserted into command parameters without validation, which is a potential security threat. データソースコントロールのイベントを使用して、コマンドが実行される前にパラメーター値を検証します。Use an event in the data source control to validate parameter values before the command is executed. 詳細については、「スクリプトによる攻略の概要」を参照してください。For more information, see Script Exploits Overview.

次の表は、さまざまなパラメータークラスとその使用方法を示しています。The following table lists the different parameter classes and how they are used.

Parameter クラスParameter Class 説明Description
Parameter 基本パラメータークラス。The base parameter class. これを使用して、ローカル変数または任意の静的文字列にバインドするには、DefaultValue プロパティを使用します。Use it to bind to a local variable or any static string using the DefaultValue property.
ControlParameter コントロールのプロパティまたはメソッドの戻り値にバインドするために使用できるパラメーター。A parameter that can be used to bind to a control's property or method return value.
CookieParameter クッキーの値にバインドするために使用できるパラメーター。A parameter that can be used to bind to the value of a cookie.
FormParameter 現在の Web フォームページの属性にバインドするために使用できるパラメーター。A parameter that can be used to bind to an attribute of the current Web Forms page.
QueryStringParameter クエリ文字列の Web フォームページに渡される値にバインドするために使用できるパラメーター。A parameter that can be used to bind to a value passed to a Web Forms page on a query string.
SessionParameter セッション変数の値にバインドするために使用できるパラメーター。A parameter that can be used to bind to the value of a session variable.
ProfileParameter ASP.NET Profile プロパティの値にバインドするために使用できるパラメーター。A parameter that can be used to bind to the value of an ASP.NET Profile property.

コンストラクター

ParameterCollection()

継承クラス インスタンスによって使用されるクラスを初期化します。Initializes the class for use by an inherited class instance. このコンストラクターは、継承クラスによってのみ呼び出すことができます。This constructor can be called only by an inherited class.

プロパティ

Count

StateManagedCollection コレクションに格納されている要素の数を取得します。Gets the number of elements contained in the StateManagedCollection collection.

(継承元 StateManagedCollection)
Item[Int32]

コレクション内の指定したインデックスでの Parameter オブジェクトを取得または設定します。Gets or sets the Parameter object at the specified index in the collection.

Item[String]

コレクション内の指定した名前の Parameter オブジェクトを取得または設定します。Gets or sets the Parameter object with the specified name in the collection.

メソッド

Add(Parameter)

指定した Parameter オブジェクトをコレクションの末尾に追加します。Appends the specified Parameter object to the end of the collection.

Add(String, DbType, String)

名前、データベース型、および既定値を指定して Parameter オブジェクトを作成し、コレクションの末尾に追加します。Creates a Parameter object with the specified name, database type, and default value, and adds it to the end of the collection.

Add(String, String)

名前と既定値を指定して Parameter オブジェクトを作成し、コレクションの末尾に追加します。Creates a Parameter object with the specified name and default value, and appends it to the end of the collection.

Add(String, TypeCode, String)

名前、Parameter、および既定値を指定して TypeCode オブジェクトを作成し、コレクションの末尾に追加します。Creates a Parameter object with the specified name, TypeCode, and default value, and appends it to the end of the collection.

Clear()

StateManagedCollection コレクションからすべての項目を削除します。Removes all items from the StateManagedCollection collection.

(継承元 StateManagedCollection)
Contains(Parameter)

ParameterCollection コレクションに特定の値が格納されているかどうかを判断します。Determines whether the ParameterCollection collection contains a specific value.

CopyTo(Array, Int32)

特定の配列インデックスを開始位置として、配列に StateManagedCollection コレクションの要素をコピーします。Copies the elements of the StateManagedCollection collection to an array, starting at a particular array index.

(継承元 StateManagedCollection)
CopyTo(Parameter[], Int32)

パラメーター配列の指定したインデックスをパラメーター コレクションにコピーします。Copies a specified index of a parameter array to the parameter collection.

CreateKnownType(Int32)

既定の Parameter オブジェクトのインスタンスを作成します。Creates an instance of a default Parameter object.

Equals(Object)

指定されたオブジェクトが現在のオブジェクトと等しいかどうかを判定します。Determines whether the specified object is equal to the current object.

(継承元 Object)
GetEnumerator()

StateManagedCollection コレクションを反復処理する反復子を返します。Returns an iterator that iterates through the StateManagedCollection collection.

(継承元 StateManagedCollection)
GetHashCode()

既定のハッシュ関数として機能します。Serves as the default hash function.

(継承元 Object)
GetKnownTypes()

Parameter コレクションに格納できる ParameterCollection 型の配列を取得します。Gets an array of Parameter types that the ParameterCollection collection can contain.

GetType()

現在のインスタンスの Type を取得します。Gets the Type of the current instance.

(継承元 Object)
GetValues(HttpContext, Control)

コレクションに現在格納されている Parameter オブジェクトの名前と対応する値の順序付けられたコレクションを取得します。Gets an ordered collection of Parameter object names and their corresponding values currently contained by the collection.

IndexOf(Parameter)

Parameter コレクション内の指定した ParameterCollection オブジェクトのインデックスを確認します。Determines the index of a specified Parameter object in the ParameterCollection collection.

Insert(Int32, Parameter)

Parameter コレクション内の指定したインデックス位置に、指定した ParameterCollection オブジェクトを挿入します。Inserts the specified Parameter object into the ParameterCollection collection at the specified index.

MemberwiseClone()

現在の Object の簡易コピーを作成します。Creates a shallow copy of the current Object.

(継承元 Object)
OnClear()

派生クラスでオーバーライドされた場合、Clear() メソッドによってコレクションからすべての項目が削除される前の補足作業を実行します。When overridden in a derived class, performs additional work before the Clear() method removes all items from the collection.

(継承元 StateManagedCollection)
OnClearComplete()

コレクションの内容を消去した後に、追加のカスタム プロセスを実行します。Performs additional custom processes after clearing the contents of the collection.

OnInsert(Int32, Object)

Insert(Int32, Parameter) メソッドが呼び出される前に発生します。Occurs before the Insert(Int32, Parameter) method is called.

OnInsertComplete(Int32, Object)

Insert(Int32, Parameter) メソッドの完了後に発生します。Occurs after the Insert(Int32, Parameter) method completes.

OnParametersChanged(EventArgs)

ParametersChanged イベントを発生させます。Raises the ParametersChanged event.

OnRemove(Int32, Object)

派生クラスでオーバーライドされた場合、IList.Remove(Object) メソッドまたは IList.RemoveAt(Int32) メソッドによって、指定された項目がコレクションから削除される前の補足作業を実行します。When overridden in a derived class, performs additional work before the IList.Remove(Object) or IList.RemoveAt(Int32) method removes the specified item from the collection.

(継承元 StateManagedCollection)
OnRemoveComplete(Int32, Object)

Remove(Parameter) メソッドの完了後に発生します。Occurs after the Remove(Parameter) method completes.

OnValidate(Object)

値を検証するときに、追加のカスタム プロセスを実行します。Performs additional custom processes when validating a value.

Remove(Parameter)

指定した Parameter オブジェクトを ParameterCollection コレクションから削除します。Removes the specified Parameter object from the ParameterCollection collection.

RemoveAt(Int32)

指定したインデックス位置にある Parameter オブジェクトを ParameterCollection コレクションから削除します。Removes the Parameter object at the specified index from the ParameterCollection collection.

SetDirty()

強制的に StateManagedCollection コレクション全体をビューステートにシリアル化します。Forces the entire StateManagedCollection collection to be serialized into view state.

(継承元 StateManagedCollection)
SetDirtyObject(Object)

ビューステートから最後に読み込まれた後または保存された後に変更されたものとして、指定した Parameter オブジェクトをマークします。Marks the specified Parameter object as having changed since the last load or save from view state.

ToString()

現在のオブジェクトを表す string を返します。Returns a string that represents the current object.

(継承元 Object)
UpdateValues(HttpContext, Control)

コレクションに格納された Parameter オブジェクトを反復処理し、各オブジェクトに対して Evaluate メソッドを呼び出します。Iterates through the Parameter objects contained by the collection, and calls the Evaluate method on each one.

イベント

ParametersChanged

コレクションに格納された 1 つ以上の Parameter オブジェクトの状態が変更されたときに発生します。Occurs when one or more Parameter objects contained by the collection changes state.

明示的なインターフェイスの実装

ICollection.Count

StateManagedCollection コレクションに格納されている要素の数を取得します。Gets the number of elements contained in the StateManagedCollection collection.

(継承元 StateManagedCollection)
ICollection.IsSynchronized

StateManagedCollection コレクションが同期されている (スレッド セーフである) かどうかを示す値を取得します。Gets a value indicating whether the StateManagedCollection collection is synchronized (thread safe). このメソッドは、常に false を返します。This method returns false in all cases.

(継承元 StateManagedCollection)
ICollection.SyncRoot

StateManagedCollection コレクションへのアクセスを同期するために使用できるオブジェクトを取得します。Gets an object that can be used to synchronize access to the StateManagedCollection collection. このメソッドは、常に null を返します。This method returns null in all cases.

(継承元 StateManagedCollection)
IEnumerable.GetEnumerator()

StateManagedCollection コレクションを反復処理する反復子を返します。Returns an iterator that iterates through the StateManagedCollection collection.

(継承元 StateManagedCollection)
IList.Add(Object)

項目を StateManagedCollection コレクションに追加します。Adds an item to the StateManagedCollection collection.

(継承元 StateManagedCollection)
IList.Clear()

StateManagedCollection コレクションからすべての項目を削除します。Removes all items from the StateManagedCollection collection.

(継承元 StateManagedCollection)
IList.Contains(Object)

StateManagedCollection コレクションに特定の値が格納されているかどうかを判断します。Determines whether the StateManagedCollection collection contains a specific value.

(継承元 StateManagedCollection)
IList.IndexOf(Object)

StateManagedCollection コレクション内での指定した項目のインデックスを調べます。Determines the index of a specified item in the StateManagedCollection collection.

(継承元 StateManagedCollection)
IList.Insert(Int32, Object)

StateManagedCollection コレクション内の指定したインデックスの位置に項目を挿入します。Inserts an item into the StateManagedCollection collection at the specified index.

(継承元 StateManagedCollection)
IList.IsFixedSize

StateManagedCollection コレクションが固定サイズかどうかを示す値を取得します。Gets a value indicating whether the StateManagedCollection collection has a fixed size. このメソッドは、常に false を返します。This method returns false in all cases.

(継承元 StateManagedCollection)
IList.IsReadOnly

StateManagedCollection コレクションが読み取り専用かどうかを示す値を取得します。Gets a value indicating whether the StateManagedCollection collection is read-only.

(継承元 StateManagedCollection)
IList.Item[Int32]

指定したインデックス位置にある IStateManager 要素を取得します。Gets the IStateManager element at the specified index.

(継承元 StateManagedCollection)
IList.Remove(Object)

指定したオブジェクトのうち、StateManagedCollection コレクションで最初に出現したオブジェクトを削除します。Removes the first occurrence of the specified object from the StateManagedCollection collection.

(継承元 StateManagedCollection)
IList.RemoveAt(Int32)

指定したインデックス位置にある IStateManager 要素を削除します。Removes the IStateManager element at the specified index.

(継承元 StateManagedCollection)
IStateManager.IsTrackingViewState

StateManagedCollection コレクションがビューステートへの変更を保存しているかどうかを示す値を取得します。Gets a value indicating whether the StateManagedCollection collection is saving changes to its view state.

(継承元 StateManagedCollection)
IStateManager.LoadViewState(Object)

StateManagedCollection コレクションと、そのコレクションに格納されている IStateManager 項目の以前に保存されたビューステートを復元します。Restores the previously saved view state of the StateManagedCollection collection and the IStateManager items it contains.

(継承元 StateManagedCollection)
IStateManager.SaveViewState()

ページがサーバーにポストバックされた時間以降に発生した、StateManagedCollection コレクションとその各 IStateManager オブジェクトへの変更を保存します。Saves the changes to the StateManagedCollection collection and each IStateManager object it contains since the time the page was posted back to the server.

(継承元 StateManagedCollection)
IStateManager.TrackViewState()

StateManagedCollection コレクションとその各 IStateManager オブジェクトに自身のビューステートへの変更を追跡させ、同じページに対する要求間でこれらが永続化されるようにします。Causes the StateManagedCollection collection and each of the IStateManager objects it contains to track changes to their view state so they can be persisted across requests for the same page.

(継承元 StateManagedCollection)

拡張メソッド

Cast<TResult>(IEnumerable)

IEnumerable の要素を、指定した型にキャストします。Casts the elements of an IEnumerable to the specified type.

OfType<TResult>(IEnumerable)

指定された型に基づいて IEnumerable の要素をフィルター処理します。Filters the elements of an IEnumerable based on a specified type.

AsParallel(IEnumerable)

クエリの並列化を有効にします。Enables parallelization of a query.

AsQueryable(IEnumerable)

IEnumerableIQueryable に変換します。Converts an IEnumerable to an IQueryable.

適用対象

こちらもご覧ください