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 ,以表示用户配置文件中的属性。 然后,可以使用该属性和数据源中的值来计算新值。

如果不必在 Run 运行时在 Select 子句中设置值,则不必使用 SelectParameters 集合。 可以在 属性中定义要检索的属性 Select 。 例如,若要从数据库表返回 FirstNameLastName 值,请将 设置为 Select “FirstName,LastName”而不使用任何参数。

若要在集合中 SelectParameters 设置值,请在 命名参数的 属性中添加 Select 占位符。 在 Select 子句中,每个参数名称的前面加上 @ 符号。

不能使用集合中的 SelectParameters 参数来表示属性名称。 若要将属性动态设置为 Select 属性的名称,请为 Selecting 事件创建事件处理程序,并根据需要自定义 Select 属性。

适用于