LinqDataSource.WhereParameters 屬性

定義

取得用於建立 Where 子句的參數集合。

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

屬性值

參數集合,用於在 Where 屬性中建立 Where 子句。

實作

屬性

範例

下列範例示範如何使用 WhereParameters 集合動態建立 Where 子句。 LinqDataSource控制項會傳回資料行中 Price 值大於控制項中 DropDownList 使用者所選取值的所有記錄。

<asp:DropDownList AutoPostBack="true" ID="DropDownList1" runat="server">
    <asp:ListItem Value="0"></asp:ListItem>
    <asp:ListItem Value="25"></asp:ListItem>
    <asp:ListItem Value="100"></asp:ListItem>
    <asp:ListItem Value="400"></asp:ListItem>
</asp:DropDownList>
<asp:LinqDataSource 
    ContextTypeName="ExampleDataContext" 
    TableName="Products" 
    Where="Price>@UserPrice"
    ID="LinqDataSource1" 
    runat="server">
    <WhereParameters>
        <asp:ControlParameter 
            Name="UserPrice" 
            DefaultValue="0" 
            ControlID="DropDownList1" 
            Type="Int32" />
    </WhereParameters>
</asp:LinqDataSource>
<asp:GridView 
    DataSourceID="LinqDataSource1"
    ID="GridView1" 
    runat="server">
</asp:GridView>
<asp:DropDownList AutoPostBack="true" ID="DropDownList1" runat="server">
    <asp:ListItem Value="0"></asp:ListItem>
    <asp:ListItem Value="25"></asp:ListItem>
    <asp:ListItem Value="100"></asp:ListItem>
    <asp:ListItem Value="400"></asp:ListItem>
</asp:DropDownList>
<asp:LinqDataSource 
    ContextTypeName="ExampleDataContext" 
    TableName="Products" 
    Where="Price > @UserPrice"
    ID="LinqDataSource1" 
    runat="server">
    <WhereParameters>
        <asp:ControlParameter 
            Name="UserPrice" 
            DefaultValue="0" 
            ControlID="DropDownList1" 
            Type="Int32" />
    </WhereParameters>
</asp:LinqDataSource>
<asp:GridView 
    DataSourceID="LinqDataSource1"
    ID="GridView1" 
    runat="server">
</asp:GridView>

備註

控制項 LinqDataSource 會使用集合中的 WhereParameters 參數,在執行時間建立 Where 子句。 當您想要以程式設計方式在 Where 子句中設定一或多個條件時,請將參數新增至 WhereParameters 集合。 例如,您可以搜尋資料庫資料表,尋找姓氏等於 控制項值的 TextBox 記錄。 在此情況下,您會為文字方塊值將參數新增至 WhereParameters 集合。

如果您不需要在 Where 子句的執行時間設定值,就不需要使用 WhereParameters 集合。 您可以定義屬性中要擷取的 Where 欄位。 例如,若要從標記中等於 「Adams」 的資料庫資料表 LastName 傳回值,請將 Where 屬性設定為 'LastName = "Adams"' ,而不需任何參數。

若要設定集合中的 WhereParameters 值,您可以將名稱指派給每個參數,然後在該參數的 屬性中 Where 新增預留位置。 在 Where 子句中,在每個參數名稱前面加上 @ 符號。

適用於