ObjectDataSource.SelectParameters プロパティ
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
SelectMethod プロパティで指定されたメソッドによって使用されるパラメーターのコレクションを取得します。
public:
property System::Web::UI::WebControls::ParameterCollection ^ SelectParameters { System::Web::UI::WebControls::ParameterCollection ^ get(); };
[System.Web.UI.PersistenceMode(System.Web.UI.PersistenceMode.InnerProperty)]
public System.Web.UI.WebControls.ParameterCollection SelectParameters { get; }
[<System.Web.UI.PersistenceMode(System.Web.UI.PersistenceMode.InnerProperty)>]
member this.SelectParameters : System.Web.UI.WebControls.ParameterCollection
Public ReadOnly Property SelectParameters As ParameterCollection
プロパティ値
SelectMethod プロパティで指定されたメソッドによって使用されるパラメーターのコレクション。
- 属性
例
次のコード例では、 ObjectDataSource コントロールを使用して 1 つのデータ レコードを取得し、 DetailsView コントロールに表示する方法を示します。
ObjectDataSource コントロールは、GetEmployee クラスのEmployeeLogic メソッドを呼び出して、特定の従業員レコードを取得します。
GetEmployeeメソッドには、従業員 ID パラメーターが必要です。
ObjectDataSource コントロールは、マークアップのQueryStringParameter要素を使用して、指定したクエリ文字列パラメーターの値を URL から取得し、QueryStringParameter メソッドに渡すGetEmployee オブジェクトを作成します。
他のパラメーター クラスを使用して、コントロール プロパティ、フォーム フィールド、Cookie、ASP.NET プロファイル データ、セッション状態など、他のソースから値を取得できます。 また、マークアップで定義されているパラメーター オブジェクトを使用して、ハードコーディングされた値を select メソッドに渡すこともできます。 使用可能なパラメーター クラスの詳細については、「 フィルター処理のためのデータ ソース コントロールでのパラメーターの使用」を参照してください。
この例を実行するには、次のものが必要です。
Northwind Traders データベースに接続する
NorthwindConnectionという名前の接続文字列を持つ Web サイト。 詳細については、 ObjectDataSource クラスの概要を参照してください。EmployeeLogicクラスの概要のコード例の 1 つとして示されているObjectDataSource クラス。 クラス ファイルは、App_Code フォルダーに配置する必要があります。サンプル コードは、.aspx ページとして実行できます。 クエリ文字列パラメーターを指定せずにページを要求すると、エラー メッセージが表示されます。 .aspx ファイルの名前の後に
?empid=1などのクエリ文字列を使用してページを要求すると、要求された従業員の詳細が表示されます。
<%@ Register TagPrefix="aspSample" Namespace="Samples.AspNet.CS" Assembly="Samples.AspNet.CS" %>
<%@ 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>
<title>ObjectDataSource - C# Example</title>
</head>
<body>
<form id="Form1" method="post" runat="server">
<asp:detailsview
id="DetailsView1"
runat="server"
datasourceid="ObjectDataSource1">
</asp:detailsview>
<!-- Security Note: The ObjectDataSource uses a QueryStringParameter,
Security Note: which does not perform validation of input from the client.
Security Note: To validate the value of the QueryStringParameter, handle the Selecting event. -->
<asp:objectdatasource
id="ObjectDataSource1"
runat="server"
selectmethod="GetEmployee"
typename="Samples.AspNet.CS.EmployeeLogic" >
<selectparameters>
<asp:querystringparameter name="EmployeeID" querystringfield="empid" defaultvalue="-1" />
</selectparameters>
</asp:objectdatasource>
</form>
</body>
</html>
<%@ Register TagPrefix="aspSample" Namespace="Samples.AspNet.VB" Assembly="Samples.AspNet.VB" %>
<%@ 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>
<title>ObjectDataSource - VB Example</title>
</head>
<body>
<form id="Form1" method="post" runat="server">
<asp:detailsview
id="DetailsView1"
runat="server"
datasourceid="ObjectDataSource1">
</asp:detailsview>
<!-- Security Note: The ObjectDataSource uses a QueryStringParameter,
Security Note: which does not perform validation of input from the client.
Security Note: To validate the value of the QueryStringParameter, handle the Selecting event. -->
<asp:objectdatasource
id="ObjectDataSource1"
runat="server"
selectmethod="GetEmployee"
typename="Samples.AspNet.VB.EmployeeLogic" >
<selectparameters>
<asp:querystringparameter name="EmployeeID" querystringfield="empid" defaultvalue="-1" />
</selectparameters>
</asp:objectdatasource>
</form>
</body>
</html>
注釈
SelectParameters プロパティは、SelectParameters コントロールに関連付けられているObjectDataSourceView オブジェクトのObjectDataSource プロパティを取得します。
SelectParameters要素を使用するか、SelectParameters イベントのハンドラーでプログラムによってSelecting コレクションにパラメーターを追加します。 実行時に、 SelectParameters 要素にリストされているパラメーターが最初にコレクションに追加されます。 コレクション内のパラメーターは、 Selecting イベントのハンドラーによって追加または削除されます。
Selecting メソッドが実行される前に、Select イベントが発生します。
Select メソッドを実行する前に、SelectParameters コレクションに含まれるパラメーターの名前と型が、SelectMethod プロパティで指定されたメソッドのシグネチャと一致している必要があります。 たとえば、 GetEmployeesByStateAndAge という名前の select メソッドがパラメーターとして string と整数を受け取る場合、 SelectParameters コレクションには 2 つのパラメーターが含まれている必要があります。 最初のパラメーターは文字列に解決する必要があり、2 番目のパラメーターは整数に解決する必要があります。 両方のパラメーターは、 SelectParameters 要素のマークアップで指定できます。 または、 Selecting イベント ハンドラーに追加することも、1 つのパラメーターをマークアップに追加して、もう 1 つのパラメーターをプログラムで追加することもできます。
詳細については、「SelectMethod」を参照してください。
重要
Selecting イベント ハンドラーのコード、または SelectMethod プロパティで指定されたメソッドで、クライアントから受信したパラメーター値を検証していることを確認します。