다음을 통해 공유


MethodExpression 클래스

정의

메서드에 정의된 사용자 지정 LINQ 쿼리를 지정하는 방법을 제공합니다.

public ref class MethodExpression : System::Web::UI::WebControls::Expressions::ParameterDataSourceExpression
public class MethodExpression : System.Web.UI.WebControls.Expressions.ParameterDataSourceExpression
type MethodExpression = class
    inherit ParameterDataSourceExpression
Public Class MethodExpression
Inherits ParameterDataSourceExpression
상속

예제

다음 예에서는 가격이 400 이상인 제품에 대해 AdventureWorks 데이터베이스에서 Products 테이블의 ListPrice 필드를 검색 하는 방법을 보여 줍니다. 이 예제에서는 페이지 코드의 메서드에서 사용자 지정 LINQ 쿼리를 만드는 방법과 컨트롤에서 메서드를 호출 하는 방법을 보여 줍니다 QueryExtender .

Public Shared Function FilterStandardPrice(ByVal query As _  
        IQueryable(Of Product)) As IQueryable(Of Product)  
        Return From p In query _  
            Where p.ListPrice >= 400 _  
            Select p  
    End Function  
public static IQueryable<Product>   
        FilterStandardPrice(IQueryable<Product> query)  
{  
        return from p in query  
                  where p.ListPrice >= 400  
                  select p;  

    }  

다음 예제에서는 페이지에서 메서드를 호출 하는 방법을 보여 줍니다.

<html>  
<head runat="server">  
  <title>Custom Filter</title>  
</head>  
<body>  
  <form id="form1" runat="server">  
    <asp:LinqDataSource ID="LinqDataSource1" runat="server"   
        ContextTypeName="AdventureworksDataContext" EntityTypeName=""   
        TableName="Products">  
    </asp:LinqDataSource>  

    <asp:QueryExtender ID="QueryExtender1" runat="server"   
        TargetControlID="LinqDataSource1">  
      <asp:MethodExpression MethodName="FilterStandardPrice" >  
      </asp:MethodExpression>  
    </asp:QueryExtender>  

    <asp:GridView ID="GridView1" runat="server"   
        DataSourceID="LinqDataSource1"   
        DataKeyNames="ProductID"   
    </asp:GridView>  
  </form>  
</body>  
</html>  

설명

QueryExtender컨트롤은 사용자 지정 LINQ 쿼리를 지원 합니다. 메서드에서 사용자 지정 LINQ 쿼리를 정의 하 고 필터 옵션을 사용 MethodExpression 하 여 컨트롤에서 쿼리를 호출할 수 있습니다 QueryExtender .

사용자 지정 LINQ 쿼리를 포함 하는 메서드는 다음 조건을 충족 해야 합니다.

  • 메서드는 정적 이어야 합니다 ( Shared Visual Basic). 첫 번째 매개 변수는 IQueryable<T> 또는 개체 여야 합니다 IEnumerable<T> . 메서드에 두 개 이상의 매개 변수가 있을 수 있습니다.

  • 반환 값은 IQueryable<T> 쿼리 되는 또는 형식을 변경할 수 없습니다 IEnumerable<T> .

MethodExpression 쿼리를 포함 하는 메서드를 다음 순서로 검색 합니다.

  1. TypeName컨트롤에서 속성을 지정 하는 경우 QueryExtender 개체는 MethodExpression 지정 된 형식에서 메서드를 찾습니다.

  2. 데이터 소스가를 구현 하는 경우 IDynamicDataSource 메서드는 컨텍스트 형식 ( DataContext 또는 개체)에서 메서드를 찾습니다 ObjectContext .

  3. 메서드는 템플릿 컨트롤, 페이지의 기본 클래스 또는 사용자 정의 컨트롤에서 메서드를 찾습니다.

클래스는 메서드 MethodExpression CustomExpression 식이 메서드 호출에 대 한 응답으로 실행 되 고 이벤트에 대 한 응답으로 사용자 지정 식이 실행 된다는 점을 제외 하 고 클래스와 유사 합니다.

생성자

MethodExpression()

MethodExpression 클래스의 새 인스턴스를 초기화합니다.

속성

Context

소유자 컨트롤의 HttpContext 인스턴스를 가져옵니다.

(다음에서 상속됨 DataSourceExpression)
DataSource

소유자 컨트롤에 연결된 데이터 소스 개체를 가져옵니다.

(다음에서 상속됨 DataSourceExpression)
IgnoreIfNotFound

식을 무시해야 하는지 여부를 나타내는 값을 가져오거나 설정합니다.

IsTrackingViewState

데이터 소스 식 개체에서 해당 뷰 상태의 변경 내용을 추적하는지 여부를 나타내는 값을 가져옵니다.

(다음에서 상속됨 DataSourceExpression)
MethodName

사용자 지정 LINQ 쿼리를 포함하는 메서드의 이름을 가져오거나 설정합니다.

Owner

소유자 컨트롤을 가져옵니다.

(다음에서 상속됨 DataSourceExpression)
Parameters

DataSourceExpression 개체와 연결된 매개 변수를 가져옵니다.

(다음에서 상속됨 ParameterDataSourceExpression)
TypeName

메서드에 사용자 지정 쿼리가 포함된 클래스를 가져오거나 설정합니다.

ViewState

현재 뷰 상태 정보가 들어 있는 StateBag 클래스의 인스턴스를 가져옵니다.

(다음에서 상속됨 DataSourceExpression)

메서드

Equals(Object)

지정된 개체가 현재 개체와 같은지 확인합니다.

(다음에서 상속됨 Object)
GetHashCode()

기본 해시 함수로 작동합니다.

(다음에서 상속됨 Object)
GetQueryable(IQueryable)

지정된 IQueryable 개체를 사용하여 식을 확인합니다.

GetType()

현재 인스턴스의 Type을 가져옵니다.

(다음에서 상속됨 Object)
LoadViewState(Object)

ParameterDataSourceExpression 개체에서 유지해야 하는 값의 상태를 로드합니다.

(다음에서 상속됨 ParameterDataSourceExpression)
MemberwiseClone()

현재 Object의 단순 복사본을 만듭니다.

(다음에서 상속됨 Object)
SaveViewState()

ParameterDataSourceExpression 개체의 현재 뷰 상태를 저장합니다.

(다음에서 상속됨 ParameterDataSourceExpression)
SetContext(Control, HttpContext, IQueryableDataSource)

지정된 소유자 컨트롤, 컨텍스트, 데이터 소스를 사용하여 식을 계산합니다.

(다음에서 상속됨 ParameterDataSourceExpression)
SetDirty()

DataSourceExpression 개체의 상태가 뷰 상태에 저장되도록 표시합니다.

(다음에서 상속됨 DataSourceExpression)
ToString()

현재 개체를 나타내는 문자열을 반환합니다.

(다음에서 상속됨 Object)
TrackViewState()

ParameterDataSourceExpression 개체의 뷰 상태 변경 내용을 해당 개체의 StateBag 개체에 저장할 수 있도록 추적합니다.

(다음에서 상속됨 ParameterDataSourceExpression)

명시적 인터페이스 구현

IStateManager.IsTrackingViewState

클래스에서 구현될 때 데이터 소스 식 개체에서 해당 뷰 상태의 변경 내용을 추적하는지 여부를 나타내는 값을 가져옵니다.

(다음에서 상속됨 DataSourceExpression)
IStateManager.LoadViewState(Object)

클래스에서 구현될 때 이전에 저장한 데이터 소스 식 개체의 뷰 상태를 로드합니다.

(다음에서 상속됨 DataSourceExpression)
IStateManager.SaveViewState()

클래스에서 구현될 때 DataSourceExpression 개체의 현재 뷰 상태를 저장합니다.

(다음에서 상속됨 DataSourceExpression)
IStateManager.TrackViewState()

클래스에서 구현될 때 DataSourceExpression 개체의 뷰 상태 변경 내용이 해당 데이터 소스 식 개체의 StateBag 개체에 저장될 수 있도록 추적합니다.

(다음에서 상속됨 DataSourceExpression)

적용 대상