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
- 繼承
範例
下列範例示範如何搜尋 AdventureWorks 資料庫中 Products 資料表的 ListPrice 欄位,尋找具有 400 以上清單價格的產品。 此範例示範如何在頁面代碼的 方法中建立自訂 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 查詢的方法必須符合下列準則:
方法必須是 Visual Basic)
Shared
中的靜態 (。 第一個 IQueryable<T> 參數必須是 或 IEnumerable<T> 物件。 方法可以有多個參數。傳回值無法變更 IQueryable<T> 查詢的 或 IEnumerable<T> 類型。
會 MethodExpression 依下列順序搜尋包含查詢的方法:
TypeName如果在 控制項中 QueryExtender 指定屬性,物件就會 MethodExpression 在指定的型別中尋找 方法。
如果資料來源實作 IDynamicDataSource ,此方法會在內容類型上尋找 方法, (DataContext 或 ObjectContext object.)
方法會在範本控制項、頁面的基類或使用者控制項中尋找 方法。
類別 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) |