MethodExpression 클래스
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
메서드에 정의된 사용자 지정 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 쿼리를 포함 하는 메서드를 다음 순서로 검색 합니다.
TypeName컨트롤에서 속성을 지정 하는 경우 QueryExtender 개체는 MethodExpression 지정 된 형식에서 메서드를 찾습니다.
데이터 소스가를 구현 하는 경우 IDynamicDataSource 메서드는 컨텍스트 형식 ( DataContext 또는 개체)에서 메서드를 찾습니다 ObjectContext .
메서드는 템플릿 컨트롤, 페이지의 기본 클래스 또는 사용자 정의 컨트롤에서 메서드를 찾습니다.
클래스는 메서드 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) |