CustomExpression Class

.NET Framework (current version)
 

Provides a way to specify a custom LINQ query that is called in response to an event.

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


public class CustomExpression : ParameterDataSourceExpression

NameDescription
System_CAPS_pubmethodCustomExpression()

Initializes a new instance of the CustomExpression class.

NameDescription
System_CAPS_protpropertyContext

Gets the HttpContext instance of the owner control.(Inherited from DataSourceExpression.)

System_CAPS_pubpropertyDataSource

Gets the data source object that is associated with the owner control.(Inherited from DataSourceExpression.)

System_CAPS_protpropertyIsTrackingViewState

Gets a value that indicates whether a data source expression object is tracking its view state changes.(Inherited from DataSourceExpression.)

System_CAPS_protpropertyOwner

Gets the owner control.(Inherited from DataSourceExpression.)

System_CAPS_pubpropertyParameters

Gets the parameters that are associated with this DataSourceExpression object.(Inherited from ParameterDataSourceExpression.)

System_CAPS_protpropertyViewState

Gets an instance of the StateBag class that contains the current view state information.(Inherited from DataSourceExpression.)

NameDescription
System_CAPS_pubmethodEquals(Object)

Determines whether the specified object is equal to the current object.(Inherited from Object.)

System_CAPS_protmethodFinalize()

Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection.(Inherited from Object.)

System_CAPS_pubmethodGetHashCode()

Serves as the default hash function. (Inherited from Object.)

System_CAPS_pubmethodGetQueryable(IQueryable)

Provides access to the modified IQueryable object that the data source uses.(Overrides DataSourceExpression.GetQueryable(IQueryable).)

System_CAPS_pubmethodGetType()

Gets the Type of the current instance.(Inherited from Object.)

System_CAPS_protmethodLoadViewState(Object)

Loads the state of the values in the ParameterDataSourceExpression object that must be persisted.(Inherited from ParameterDataSourceExpression.)

System_CAPS_protmethodMemberwiseClone()

Creates a shallow copy of the current Object.(Inherited from Object.)

System_CAPS_protmethodSaveViewState()

Saves the current view state of the ParameterDataSourceExpression object.(Inherited from ParameterDataSourceExpression.)

System_CAPS_pubmethodSetContext(Control, HttpContext, IQueryableDataSource)

Executes the expression by using the specified owner control, context, and data source.(Inherited from ParameterDataSourceExpression.)

System_CAPS_pubmethodSetDirty()

Marks the DataSourceExpression object so that its state will be saved in view state.(Inherited from DataSourceExpression.)

System_CAPS_pubmethodToString()

Returns a string that represents the current object.(Inherited from Object.)

System_CAPS_protmethodTrackViewState()

Tracks view-state changes of the ParameterDataSourceExpression object so that the changes can be stored in the StateBag object for the object.(Inherited from ParameterDataSourceExpression.)

NameDescription
System_CAPS_pubeventQuerying

Occurs when the IQueryable data source value is set.

NameDescription
System_CAPS_pubinterfaceSystem_CAPS_privmethodIStateManager.LoadViewState(Object)

When implemented by a class, loads the previously saved view state of the data source expression object.(Inherited from DataSourceExpression.)

System_CAPS_pubinterfaceSystem_CAPS_privmethodIStateManager.SaveViewState()

When implemented by a class, saves the current view state of the DataSourceExpression object.(Inherited from DataSourceExpression.)

System_CAPS_pubinterfaceSystem_CAPS_privmethodIStateManager.TrackViewState()

When implemented by a class, tracks view state changes of the DataSourceExpression object so that the changes can be stored in the StateBag object for the data source expression object.(Inherited from DataSourceExpression.)

System_CAPS_pubinterfaceSystem_CAPS_privpropertyIStateManager.IsTrackingViewState

When implemented by a class, gets a value that indicates whether a data source expression object is tracking its view state changes.(Inherited from DataSourceExpression.)

The CustomExpression class is used with the QueryExtender control. The QueryExtender control supports a variety of options that you can use to filter data. The QueryExtender control supports filters that let you search strings, search values between a specified range, compare a property value in a table to a specified value, and sort data. These options are provided as LINQ expressions in the QueryExtender control. You can use these filter expressions or you can provide a custom expression that you can use in the QueryExtender control. The CustomExpression class enables you to specify a custom expression in your application and call it in an event handler.

System_CAPS_noteNote

You can provide a custom query that is called by a method instead of an event handler by using the MethodExpression class.

The following example shows how to create a CustomExpression object that is used by the QueryExtender control. The custom expression calls the FilterProducts method, which contains a custom LINQ expression. The result of the filtering operation is displayed in a GridView control.

The following example shows an event handler that contains a custom LINQ query. The expression filters the Product table in the AdventureWorks database and displays products that have a list price greater than or equal to $3,500.00.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.Expressions;
using System.Linq;

public partial class _Default : System.Web.UI.Page 
{
    protected void FilterProducts(object sender, CustomExpressionEventArgs e)
    {
        e.Query = from p in e.Query.Cast<Product>()
                  where p.ListPrice >= 3500
                  select p;
    }
}

.NET Framework
Available since 4.0

Any public static ( Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

Return to top
Show: