LinqDataSource.SelectParameters 屬性

定義

取得擷取資料作業期間所使用的參數集合。

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; }
[<System.ComponentModel.Browsable(false)>]
[<System.Web.UI.PersistenceMode(System.Web.UI.PersistenceMode.InnerProperty)>]
member this.SelectParameters : System.Web.UI.WebControls.ParameterCollection
Public ReadOnly Property SelectParameters As ParameterCollection

屬性值

用於建立 Select 子句的參數。

屬性

範例

下列範例示範如何使用使用者提供的值來計算傳回資料中的值。 使用者可以在代表製造天數的文字方塊中輸入值。 該值除以資料庫的值,代表製造產品的天數。 傳回的值表示可以在指定的天數內製造多少產品。 使用者的輸入會透過集合包含在 Select 命令中 SelectParameters

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 子句。 當您想要在 Select 子句中使用運行時間值時,請將參數新增至 SelectParameters 集合。 例如,您可以將參數新增至集合, SelectParameters 以代表使用者設定檔中的屬性。 然後,您可以使用該屬性和資料來源中的值來計算新的值。

如果您不需要在 Select 子句的執行時間設定值,就不需要使用 SelectParameters 集合。 您可以定義屬性中 Select 要擷取的屬性。 例如,若要從資料庫資料表傳回 FirstNameLastName 值,請將 設定 Select 為 「FirstName, LastName」 而不使用任何參數。

若要在集合中 SelectParameters 設定值,請在具名參數的 屬性中 Select 新增預留位置。 在 Select 子句中,在每個參數名稱前面加上 @ 符號。

您無法使用集合中的 SelectParameters 參數來表示屬性名稱。 若要將屬性動態設定 Select 為屬性的名稱,請建立 Selecting 事件的事件處理常式,並視需要自訂 Select 屬性。

適用於