ControlParameter クラス
アセンブリ: System.Web (system.web.dll 内)


ControlParameter クラスを使用すると、SelectedValue または SelectedIndex などの Control プロパティの値を、SQL パラメータ クエリ、ビジネス オブジェクトのメソッド、またはフィルタ処理式で使用されるパラメータにバインドできます。
ControlParameter クラスは、Parameter クラスから継承したこれらのプロパティに加えて、2 つのプロパティ (ControlID および PropertyName) を提供しています。ControlID プロパティでは、バインド先の Control インスタンスを指定します。PropertyName プロパティでは、ControlParameter クラスが値を取得する先の Control のパブリック プロパティを指定します。

次のコード例では、ControlParameter オブジェクトを使用して、ListBox コントロール内に表示されるデータを、宣言シナリオの DropDownList コントロールの選択した値にバインドする方法を示します。ControlParameter オブジェクトは、フォームの SqlDataSource コントロールの SelectParameters コレクションに追加され、SelectCommand プロパティの "@Title" プレースホルダ テキストに対応します。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html> <body> <form runat="server"> <p><asp:dropdownlist id="DropDownList1" runat="server" autopostback="True"> <asp:listitem selected>Sales Representative</asp:listitem> <asp:listitem>Sales Manager</asp:listitem> <asp:listitem>Vice President, Sales</asp:listitem> </asp:dropdownlist></p> <asp:sqldatasource id="SqlDataSource1" runat="server" connectionstring="<%$ ConnectionStrings:MyNorthwind%>" selectcommand="SELECT LastName FROM Employees WHERE Title = @Title"> <selectparameters> <asp:controlparameter name="Title" controlid="DropDownList1" propertyname="SelectedValue"/> </selectparameters> </asp:sqldatasource> <p><asp:listbox id="ListBox1" runat="server" datasourceid="SqlDataSource1" datatextfield="LastName"> </asp:listbox></p> </form> </body> </html>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html> <body> <form runat="server"> <p><asp:dropdownlist id="DropDownList1" runat="server" autopostback="True"> <asp:listitem selected>Sales Representative</asp:listitem> <asp:listitem>Sales Manager</asp:listitem> <asp:listitem>Vice President, Sales</asp:listitem> </asp:dropdownlist></p> <asp:sqldatasource id="SqlDataSource1" runat="server" connectionstring="<%$ ConnectionStrings:MyNorthwind%>" selectcommand="SELECT LastName FROM Employees WHERE Title = @Title"> <selectparameters> <asp:controlparameter name="Title" controlid="DropDownList1" propertyname="SelectedValue"/> </selectparameters> </asp:sqldatasource> <p><asp:listbox id="ListBox1" runat="server" datasourceid="SqlDataSource1" datatextfield="LastName"> </asp:listbox></p> </form> </body> </html>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <HTML> <BODY> <FORM runat="server"> <p><asp:DropDownList id="DropDownList1" runat="server" AutoPostBack="True"> <asp:ListItem Selected>Sales Representative</asp:ListItem> <asp:ListItem>Sales Manager</asp:ListItem> <asp:ListItem>Vice President, Sales</asp:ListItem> </asp:DropDownList></p> <asp:SqlDataSource id="SqlDataSource1" runat="server" ConnectionString="Data Source=localhost;Integrated Security=SSPI;Initial Catalog=Northwind;" SelectCommand="SELECT LastName FROM Employees WHERE Title = @Title"> <SelectParameters> <asp:ControlParameter Name="Title" ControlId="DropDownList1" PropertyName="SelectedValue"/> </SelectParameters> </asp:SqlDataSource> <p><asp:ListBox id="ListBox1" runat="server" DataSourceID="SqlDataSource1" DataTextField="LastName"> </asp:ListBox></p> </FORM> </BODY> </HTML>


System.Web.UI.WebControls.Parameter
System.Web.UI.WebControls.ControlParameter


Windows 98, Windows 2000 SP4, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


- ControlParameter クラスのページへのリンク