LinqDataSource.SelectParameters 屬性
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
取得擷取資料作業期間所使用的參數集合。
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 要擷取的屬性。 例如,若要從資料庫資料表傳回 FirstName
和 LastName
值,請將 設定 Select 為 「FirstName, LastName」 而不使用任何參數。
若要在集合中 SelectParameters 設定值,請在具名參數的 屬性中 Select 新增預留位置。 在 Select 子句中,在每個參數名稱前面加上 @ 符號。
您無法使用集合中的 SelectParameters 參數來表示屬性名稱。 若要將屬性動態設定 Select 為屬性的名稱,請建立 Selecting 事件的事件處理常式,並視需要自訂 Select 屬性。