LinqDataSourceSelectEventArgs.SelectParameters Property

 

Gets the collection of parameters that is used to create the Select clause.

Namespace:   System.Web.UI.WebControls
Assembly:  System.Web.Extensions (in System.Web.Extensions.dll)

public IDictionary<string, object> SelectParameters { get; }

Property Value

Type: System.Collections.Generic.IDictionary<String, Object>

An object that contains the parameters for the Select clause.

You use the SelectParameters property to access parameters for the Select clause in a handler for the Selecting event. You can modify the Select clause by adding or removing parameters from this collection. By default, the SelectParameters property of the LinqDataSourceSelectEventArgs object contains any parameters that you added to the SelectParameters of the LinqDataSource control.

The following example shows how to add a parameter to the SelectParameters collection. The added parameter is used to calculate an adjusted price for a product based on whether products are on discounted. The first part of the example shows the event handler for the Selecting event.

protected void LinqDataSource_Selecting(object sender, LinqDataSourceSelectEventArgs e)
{
    if (IsOnlineSale)
    {
        e.SelectParameters.Add("Discount", OnlineDiscount);
    }
    else
    {
        e.SelectParameters.Add("Discount", 0);
    }
}

The second part of the example shows the markup that defines the Select clause.

<asp:LinqDataSource 
    ContextTypeName="ExampleDataContext" 
    TableName="Products" 
    AutoGenerateWhereClause="true"
    Select="new(Name, Price * (1 - @Discount) As OnlinePrice)"
    OnSelecting="LinqDataSource_Selecting" 
    ID="LinqDataSource1" 
    runat="server">
</asp:LinqDataSource>
<asp:GridView 
    DataSourceID="LinqDataSource1" 
    ID="GridView1" 
    runat="server">
</asp:GridView>

.NET Framework
Available since 3.5
Return to top
Show: