ControlFilterExpression Class

ControlFilterExpression Class

.NET Framework 4.6 and 4.5

Modifies a database query by using the data key of the item that is selected in a data-bound control.

Namespace:   System.Web.DynamicData
Assembly:  System.Web.DynamicData (in System.Web.DynamicData.dll)


public class ControlFilterExpression : DataSourceExpression


Initializes a new instance of the ControlFilterExpression class.


Gets or sets the name of the column that the query is based on.


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


Gets or sets the ID of the source data-bound control.


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


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


Gets the owner control.(Inherited from DataSourceExpression.)


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


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


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


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


Gets the data source query to modify. (Overrides DataSourceExpression.GetQueryable(IQueryable).)


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


Restores the previously saved view state. (Overrides DataSourceExpression.LoadViewState(Object).)


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


Saves the changes to view state since the time the page was posted to the server.(Overrides DataSourceExpression.SaveViewState().)

System_CAPS_pubmethodSetContext(Control, HttpContext, IQueryableDataSource)

Initializes the filter expression with data source information.(Overrides DataSourceExpression.SetContext(Control, HttpContext, IQueryableDataSource).)


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


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


Causes the ControlFilterExpression object to track changes to its view state so they can be stored in the control's view state object and to be persisted across requests for the same page.(Overrides DataSourceExpression.TrackViewState().)


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


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


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.)

The ControlFilterExpression class that is designed to be used when a page contains two data-bound controls such as a GridView control and a ListView control. One control is the source, where a data key (row) is selected. The other control is the target where the data is displayed based on the selected data key. The target data is obtained by a data source control that executes the query that is defined in the QueryExtender class and that is built by using the selected data key.

To use the ControlFilterExpression class in a page, you follow these steps:

  • Add the QueryExtender control to the page.

  • Set the TargetControlID property of the QueryExtender control to the ID of the target data source control.

  • Add a ControlFilterExpression instance to the QueryExtender control.

  • Set the ControlID property of the ControlFilterExpression element to the source data-bound control.

The following example shows how to use the ControlFilterExpression class to reference a source data-bound control, where the data key is selected. The QueryExtender control points to a target data source control that obtains data that is filtered by using the selected data key. In the example, the source data-bound control references a parent table and the target data-bound control references a child table.

<asp:QueryExtender ID="QueryExtenderID" 
    TargetControlID="TargetDataSourceID" runat="server">
    <asp:ControlFilterExpression ControlID="SourceGridViewID" />

.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
© 2015 Microsoft