次の方法で共有


QueryStringParameter クラス

定義

HTTP 要求クエリ文字列フィールドの値をパラメーター オブジェクトにバインドします。

public ref class QueryStringParameter : System::Web::UI::WebControls::Parameter
public class QueryStringParameter : System.Web.UI.WebControls.Parameter
type QueryStringParameter = class
    inherit Parameter
Public Class QueryStringParameter
Inherits Parameter
継承
QueryStringParameter

次の例では、GridView コントロールにデータを表示するときにフィルターとして使用する QueryStringParameter オブジェクトを作成する方法を示します。 AccessDataSource コントロールの FilterParameters コレクションに QueryStringParameter オブジェクトを追加します。 パラメーター オブジェクトは、country という名前のクエリ文字列フィールドの値を FilterExpression 文字列にバインドします。 パラメーターに DefaultValue プロパティが指定されていないため、クエリ文字列で country という名前のフィールドが渡されない場合、AccessDataSource コントロールは NullReferenceException 例外をスローします。 country という名前のフィールドが渡されても値がない場合、GridView コントロールにはデータは表示されません。

<%@ Page language="C#"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >
  <head runat="server">
    <title>ASP.NET Example</title>
</head>
<body>
    <form id="Form1" method="post" runat="server">

      <!-- Use a Query String with country=USA -->
      <asp:gridview
        id ="GridView1"
        runat="server"
        datasourceid="MyAccessDataSource" />

<!-- Security Note: The AccessDataSource uses a QueryStringParameter,
     Security Note: which does not perform validation of input from the client. -->

      <asp:accessdatasource
        id="MyAccessDataSource"
        runat="server"
        datafile="Northwind.mdb"
        selectcommand="SELECT EmployeeID, LastName, Address, PostalCode, Country FROM Employees"
        filterexpression="Country = '{0}'">
        <filterparameters>
          <asp:querystringparameter name="country" type="String" querystringfield="country" />
        </filterparameters>
      </asp:accessdatasource>
    </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">

<html xmlns="http://www.w3.org/1999/xhtml" >
  <head runat="server">
    <title>ASP.NET Example</title>
</head>
<body>
    <form id="Form1" method="post" runat="server">

      <!-- Use a Query String with country=USA -->
      <asp:gridview
        id ="GridView1"
        runat="server"
        datasourceid="MyAccessDataSource" />

<!-- Security Note: The AccessDataSource uses a QueryStringParameter,
     Security Note: which does not perform validation of input from the client. -->

      <asp:accessdatasource
        id="MyAccessDataSource"
        runat="server"
        datafile="Northwind.mdb"
        selectcommand="SELECT EmployeeID, LastName, Address, PostalCode, Country FROM Employees"
        filterexpression="Country = '{0}'">
        <filterparameters>
          <asp:querystringparameter name="country" type="String" querystringfield="country" />
        </filterparameters>
      </asp:accessdatasource>

    </form>
  </body>
</html>

注釈

QueryStringParameter クラスを使用して、HTTP 要求クエリ文字列の一部として渡されるフィールドの値を、パラメーター化されたクエリまたはコマンドで使用されるパラメーターにバインドできます。 フィールドは、QueryString コレクションから取得されます。

パラメーターにデータをバインドするコントロールは、QueryStringParameter オブジェクトが参照されているが、対応するクエリ文字列の名前と値のペアが渡されない場合に例外をスローする可能性があります。 同様に、クエリ文字列フィールド名が対応する値なしで渡された場合、データが表示されない場合があります。 このような状況を回避するには、必要に応じて DefaultValue プロパティを設定します。

QueryStringParameter クラスは、バインド先のクエリ文字列値の名前を識別する QueryStringField プロパティを提供します。 また、Parameter クラスから継承されるプロパティも提供します。

大事な

QueryStringParameter クラスは、渡された値を検証しません。生の値を提供します。 ただし、データ ソース コントロール内の QueryStringParameter オブジェクトの値を検証できます。 これを行うには、データ ソース コントロールの SelectingUpdatingInserting、または Deleting イベントを処理し、イベント ハンドラーでパラメーター値を確認します。 パラメーターの値が検証テストに合格しない場合は、関連付けられている CancelEventArgs クラスの Cancel プロパティを trueに設定することで、データ操作を取り消すことができます。

コンストラクター

QueryStringParameter()

QueryStringParameter クラスの新しい名前のないインスタンスを初期化します。

QueryStringParameter(QueryStringParameter)

original パラメーターで指定されたインスタンスの値を使用して、QueryStringParameter クラスの新しいインスタンスを初期化します。

QueryStringParameter(String, DbType, String)

指定したクエリ文字列フィールドとパラメーターのデータ型を使用して、QueryStringParameter クラスの新しい名前付きインスタンスを初期化します。

QueryStringParameter(String, String)

バインド先のクエリ文字列フィールドを識別するために、指定した文字列を使用して、QueryStringParameter クラスの新しい名前付きインスタンスを初期化します。

QueryStringParameter(String, TypeCode, String)

バインド先のクエリ文字列フィールドを識別するために、指定した文字列を使用して、QueryStringParameter クラスの新しい名前付きの厳密に型指定されたインスタンスを初期化します。

プロパティ

ConvertEmptyStringToNull

Parameter オブジェクトがバインドされている値が Emptyされている場合に null に変換するかどうかを示す値を取得または設定します。

(継承元 Parameter)
DbType

パラメーターのデータベース型を取得または設定します。

(継承元 Parameter)
DefaultValue

パラメーターの既定値を指定します。パラメーターがバインドされている値が、Evaluate(HttpContext, Control) メソッドが呼び出されたときに初期化されないようにする必要があります。

(継承元 Parameter)
Direction

Parameter オブジェクトを使用して値をコントロールにバインドするか、コントロールを使用して値を変更できるかを示します。

(継承元 Parameter)
IsTrackingViewState

Parameter オブジェクトがビュー ステートへの変更を保存しているかどうかを示す値を取得します。

(継承元 Parameter)
Name

パラメーターの名前を取得または設定します。

(継承元 Parameter)
QueryStringField

パラメーターがバインドされるクエリ文字列フィールドの名前を取得または設定します。

Size

パラメーターのサイズを取得または設定します。

(継承元 Parameter)
Type

パラメーターの型を取得または設定します。

(継承元 Parameter)
ValidateInput

クエリ文字列パラメーターの値が検証されているかどうかを取得または設定します。

ViewState

同じページに対する複数の要求にわたって、Parameter オブジェクトのビュー ステートを保存および復元できる状態情報のディクショナリを取得します。

(継承元 Parameter)

メソッド

Clone()

現在の QueryStringParameter インスタンスの複製を返します。

Equals(Object)

指定したオブジェクトが現在のオブジェクトと等しいかどうかを判断します。

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

QueryStringParameter オブジェクトの値を更新して返します。

GetDatabaseType()

現在の Parameter インスタンスの CLR 型に相当する DbType 値を取得します。

(継承元 Parameter)
GetHashCode()

既定のハッシュ関数として機能します。

(継承元 Object)
GetType()

現在のインスタンスの Type を取得します。

(継承元 Object)
LoadViewState(Object)

データ ソース ビューの以前に保存したビューステートを復元します。

(継承元 Parameter)
MemberwiseClone()

現在の Objectの簡易コピーを作成します。

(継承元 Object)
OnParameterChanged()

Parameter オブジェクトを含む ParameterCollection コレクションの OnParametersChanged(EventArgs) メソッドを呼び出します。

(継承元 Parameter)
SaveViewState()

ページがサーバーにポストバックされてからの Parameter オブジェクトのビューステートへの変更を保存します。

(継承元 Parameter)
SetDirty()

Parameter オブジェクトの状態がビュー ステートに記録されるようにマークします。

(継承元 Parameter)
ToString()

このインスタンスの値を等価の文字列形式に変換します。

(継承元 Parameter)
TrackViewState()

Parameter オブジェクトがビューステートの変更を追跡し、コントロールの ViewState オブジェクトに格納し、同じページに対する要求間で永続化できるようにします。

(継承元 Parameter)

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

ICloneable.Clone()

現在の Parameter インスタンスの複製を返します。

(継承元 Parameter)
IStateManager.IsTrackingViewState

Parameter オブジェクトがビュー ステートへの変更を保存しているかどうかを示す値を取得します。

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

データ ソース ビューの以前に保存したビューステートを復元します。

(継承元 Parameter)
IStateManager.SaveViewState()

ページがサーバーにポストバックされてからの Parameter オブジェクトのビューステートへの変更を保存します。

(継承元 Parameter)
IStateManager.TrackViewState()

Parameter オブジェクトがビューステートの変更を追跡し、コントロールの ViewState オブジェクトに格納し、同じページに対する要求間で永続化できるようにします。

(継承元 Parameter)

適用対象

こちらもご覧ください