LinqDataSource.SelectParameters プロパティ

定義

データ取得の操作中に使用されるパラメーターのコレクションを取得します。Gets the collection of parameters that are used during a data-retrieval operation.

public:
 property System::Web::UI::WebControls::ParameterCollection ^ SelectParameters { System::Web::UI::WebControls::ParameterCollection ^ get(); };
[System.ComponentModel.Browsable(false)]
[System.Web.UI.PersistenceMode(System.Web.UI.PersistenceMode.InnerProperty)]
public System.Web.UI.WebControls.ParameterCollection SelectParameters { get; }
member this.SelectParameters : System.Web.UI.WebControls.ParameterCollection
Public ReadOnly Property SelectParameters As ParameterCollection

プロパティ値

Select 句の作成に使用されるパラメーター。The parameters that are used to create the Select clause.

属性

次の例は、ユーザーが指定した値を使用して、返されたデータの値を計算する方法を示しています。The following example shows how to use a user-supplied value to calculate a value in the returned data. ユーザーは、製造日の数を表す値をテキストボックスに入力できます。The user can enter a value in the text box that represents the number of manufacturing days. この値は、製品を製造する日数を表すデータベースの値で除算されます。That value is divided by a value from a database that represents the number of days to manufacture a product. 返される値は、指定された日数の間に製造できる製品の数を示します。The returned value indicates how many products can be manufactured during the specified number of days. ユーザーの入力は、SelectParameters コレクションを通じて Select コマンドに含まれています。The user's input is included in the Select command through the SelectParameters collection.

Enter number of manufacturing days:
<asp:TextBox Text="1" ID="TextBox1" runat="server"></asp:TextBox><br />
<asp:Button ID="Button1" runat="server" Text="Refresh" /><br />
<asp:GridView ID="GridView1" runat="server" AllowPaging="True" 
    AllowSorting="True" AutoGenerateColumns="False" DataSourceID="LinqDataSource1">
    <Columns>
        <asp:boundfield DataField="Name" 
            HeaderText="Name" 
            ReadOnly="True" 
            SortExpression="Name">
        </asp:boundfield>
        <asp:boundfield DataField="NumberToManufacture" 
            HeaderText="Number to Manufacture" 
            ReadOnly="True" 
            SortExpression="NumberToManufacture">
        </asp:boundfield>
    </Columns>
</asp:GridView>
<asp:LinqDataSource 
    ContextTypeName="ExampleDataContext" 
    TableName="Products"
    Where="DaysToManufacture > 0 "
    Select="new (Name, @Days / DaysToManufacture As NumberToManufacture)" 
    ID="LinqDataSource1" 
    runat="server">
  <SelectParameters>
    <asp:ControlParameter 
        Type="Decimal" 
        Name="Days" 
        ControlID="TextBox1" 
        DefaultValue="1" />
  </SelectParameters>
</asp:LinqDataSource>
Enter number of manufacturing days:
<asp:TextBox Text="1" ID="TextBox1" runat="server"></asp:TextBox><br />
<asp:Button ID="Button1" runat="server" Text="Refresh" /><br />
<asp:GridView ID="GridView1" runat="server" AllowPaging="True" 
    AllowSorting="True" AutoGenerateColumns="False" DataSourceID="LinqDataSource1">
    <Columns>
        <asp:boundfield DataField="Name" 
            HeaderText="Name" 
            ReadOnly="True" 
            SortExpression="Name">
        </asp:boundfield>
        <asp:boundfield DataField="NumberToManufacture" 
            HeaderText="Number to Manufacture" 
            ReadOnly="True" 
            SortExpression="NumberToManufacture">
        </asp:boundfield>
    </Columns>
</asp:GridView>
<asp:LinqDataSource 
    ContextTypeName="ExampleDataContext" 
    TableName="Products"
    Where="DaysToManufacture > 0 "
    Select="new (Name, @Days / DaysToManufacture As NumberToManufacture)" 
    ID="LinqDataSource1" 
    runat="server">
  <SelectParameters>
    <asp:ControlParameter 
        Type="Decimal" 
        Name="Days" 
        ControlID="TextBox1" 
        DefaultValue="1" />
  </SelectParameters>
</asp:LinqDataSource>

注釈

LinqDataSource コントロールは、SelectParameters コレクションのパラメーターを使用して、実行時に Select 句を作成します。The LinqDataSource control uses parameters in the SelectParameters collection to create the Select clause at run time. Select 句で実行時の値を使用する場合は、SelectParameters コレクションにパラメーターを追加します。You add parameters to the SelectParameters collection when you want to use run-time values in the Select clause. たとえば、SelectParameters コレクションにパラメーターを追加して、ユーザーのプロファイルのプロパティを表すことができます。For example, you can add a parameter to the SelectParameters collection to represent a property in the user's profile. その後、そのプロパティとデータソースからの値を使用して、新しい値を計算できます。You can then use that property and a value from the data source to calculate a new value.

Select 句で実行時に値を設定する必要がない場合は、SelectParameters コレクションを使用する必要はありません。If you do not have to set a value at run time in the Select clause, you do not have to use the SelectParameters collection. 取得するプロパティは、Select プロパティで定義できます。You can define the properties to retrieve in the Select property. たとえば、データベーステーブルから FirstNameLastName の値を取得するには、パラメーターを指定せずに Select を "FirstName, LastName" に設定します。For example, to return the FirstName and LastName values from a database table, set Select to "FirstName, LastName" without any parameters.

SelectParameters コレクションに値を設定するには、名前付きパラメーターの Select プロパティにプレースホルダーを追加します。To set values in the SelectParameters collection, you add a placeholder in the Select property for the named parameter. Select 句で、各パラメーター名の先頭に @ 記号を付けます。In the Select clause, preface each parameter name with the @ symbol.

SelectParameters コレクション内のパラメーターを使用してプロパティ名を表すことはできません。You cannot use a parameter in the SelectParameters collection to represent a property name. Select プロパティをプロパティの名前に動的に設定するには、Selecting イベントのイベントハンドラーを作成し、必要に応じて Select プロパティをカスタマイズします。To dynamically set the Select property to the name of a property, create an event handler for the Selecting event and customize the Select property as needed.

適用対象