This topic has not yet been rated - Rate this topic

SearchExpression Class

Provides a way to search a field or fields for string values and compare them to a specified string value.

Namespace:  System.Web.UI.WebControls.Expressions
Assembly:  System.Web.Extensions (in System.Web.Extensions.dll)
public class SearchExpression : ParameterDataSourceExpression

The SearchExpression type exposes the following members.

  NameDescription
Public methodSearchExpressionInitializes a new instance of the SearchExpression class.
Top
  NameDescription
Public propertyComparisonTypeGets or sets the type of string comparison to perform.
Protected propertyContextGets the HttpContext instance of the owner control. (Inherited from DataSourceExpression.)
Public propertyDataFieldsGets and sets a single field or a comma-separated list of fields to search.
Public propertyDataSourceGets the data source object that is associated with the owner control. (Inherited from DataSourceExpression.)
Protected propertyIsTrackingViewStateGets a value that indicates whether a data source expression object is tracking its view state changes. (Inherited from DataSourceExpression.)
Protected propertyOwnerGets the owner control. (Inherited from DataSourceExpression.)
Public propertyParametersGets the parameters that are associated with this DataSourceExpression object. (Inherited from ParameterDataSourceExpression.)
Public propertySearchTypeGets or sets the SearchType value that determines where in the string the search occurs.
Protected propertyViewStateGets an instance of the StateBag class that contains the current view state information. (Inherited from DataSourceExpression.)
Top
  NameDescription
Public methodEquals(Object)Determines whether the specified object is equal to the current object. (Inherited from Object.)
Protected methodFinalizeAllows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object.)
Public methodGetHashCodeServes as the default hash function. (Inherited from Object.)
Public methodGetQueryableApplies a SearchExpression object to the specified IQueryable object based on the SearchType object. (Overrides DataSourceExpression.GetQueryable(IQueryable).)
Public methodGetTypeGets the Type of the current instance. (Inherited from Object.)
Protected methodLoadViewStateLoads the state of the values in the ParameterDataSourceExpression object that must be persisted. (Inherited from ParameterDataSourceExpression.)
Protected methodMemberwiseCloneCreates a shallow copy of the current Object. (Inherited from Object.)
Protected methodSaveViewStateSaves the current view state of the ParameterDataSourceExpression object. (Inherited from ParameterDataSourceExpression.)
Public methodSetContextExecutes the expression by using the specified owner control, context, and data source. (Inherited from ParameterDataSourceExpression.)
Public methodSetDirtyMarks the DataSourceExpression object so that its state will be saved in view state. (Inherited from DataSourceExpression.)
Public methodToStringReturns a string that represents the current object. (Inherited from Object.)
Protected methodTrackViewStateTracks view-state changes of the ParameterDataSourceExpression object so that the changes can be stored in the StateBag object for the object. (Inherited from ParameterDataSourceExpression.)
Top
  NameDescription
Explicit interface implemetationPrivate propertyIStateManager.IsTrackingViewStateWhen implemented by a class, gets a value that indicates whether a data source expression object is tracking its view state changes. (Inherited from DataSourceExpression.)
Explicit interface implemetationPrivate methodIStateManager.LoadViewStateWhen implemented by a class, loads the previously saved view state of the data source expression object. (Inherited from DataSourceExpression.)
Explicit interface implemetationPrivate methodIStateManager.SaveViewStateWhen implemented by a class, saves the current view state of the DataSourceExpression object. (Inherited from DataSourceExpression.)
Explicit interface implemetationPrivate methodIStateManager.TrackViewStateWhen 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.)
Top
ExceptionCondition
InvalidOperationException

The DataFields property is null (Nothing in Visual Basic)

The QueryExtender control provides the ability to filter data in a Web page by using the SearchExpression class. The SearchExpression class compares a specified string in a field or fields to a value that you supply. The expression performs a "starts with", "contains", or "ends with" search. You must specify values for the SearchType and the DataFields properties in order to indicate the type of search you want to perform and the data fields that you want to search. If the LINQ provider that you use in the QueryExtender control supports case sensitivity, you can use the ComparisonType property to enable or ignore case sensitivity.

The value to search can be provided by an ASP.NET control. To specify this, you set the ControlID property of the ControlParameter class in the SearchExpression object to the ID of a ASP.NET control. For example, if the value to search is entered in a text box, the ControlID property must be set to the ID of the text box control. You can use the SearchExpression class in combination with the other expressions that the QueryExtender supports, such as the RangeExpression filter. For example, you can search for product names that contain the string "tea" and a list price between 100 and 200.

The following example shows how to search the Name column in the Products table of the AdventureWorks database for products whose that start with the string that is specified in the SearchTextBox control. The result that is returned from the LinqDataSource control is displayed in a GridView control.

This code example is part of a larger example that is provided in Walkthrough: Filtering Data in a Web Page Using Declarative Syntax.

<form id="form1" runat="server">
  Search: <asp:TextBox ID="SearchTextBox" runat="server" />
  <div>
  <asp:Button ID="Button1" runat="server" Text="Search"  />
  </div>

  <asp:LinqDataSource ID="LinqDataSource1"  
       ContextTypeName="AdventureWorksDataContext"  
       TableName="Products" runat="server"> 
  </asp:LinqDataSource>

  <asp:QueryExtender runat="server" 
       TargetControlID="LinqDataSource1">
    <asp:SearchExpression SearchType="StartsWith" DataFields="Name" >
      <asp:ControlParameter ControlID="SearchTextBox" />
    </asp:SearchExpression>
  </asp:QueryExtender>

  <asp:GridView ID="GridView1" runat="server"  
      DataSourceID="LinqDataSource1" AllowPaging="True" >
  </asp:GridView>
</form>

.NET Framework

Supported in: 4.5.1, 4.5, 4

Windows Phone 8.1, Windows Phone 8, Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core Role not supported), Windows Server 2008 R2 (Server Core Role supported with SP1 or later; Itanium not supported)

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.
Did you find this helpful?
(1500 characters remaining)
Thank you for your feedback
Show:
© 2014 Microsoft. All rights reserved.