Aracılığıyla paylaş


MethodExpression Sınıf

Tanım

Bir yöntemde tanımlanan özel bir LINQ sorgusu belirtmek için bir yol sağlar.

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
Devralma

Örnekler

Aşağıdaki örnekte, AdventureWorks veritabanındaki Ürünler tablosunun ListPrice alanında liste fiyatı 400 veya daha fazla olan ürünler için nasıl arama yapılacağını gösterir. Bu örnekte, sayfa kodunda bir yöntemde özel LINQ sorgusu oluşturma ve denetimde yöntemini çağırma gösterilmektedir 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;  

    }  

Aşağıdaki örnekte, sayfasında yönteminin nasıl çağrılacakları gösterilmektedir.

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

Açıklamalar

Denetim QueryExtender özel LINQ sorgularını destekler. Bir yöntemde özel bir LINQ sorgusu tanımlayabilir ve denetimde MethodExpression sorguyu QueryExtender çağırmak için filtre seçeneğini kullanabilirsiniz.

Özel LINQ sorgusunu içeren yöntemin aşağıdaki ölçütlere uyması gerekir:

Sorguyu MethodExpression içeren yöntemi aşağıdaki sırayla arar:

  1. Denetimde QueryExtender bir TypeName özellik belirtilirse, MethodExpression nesne belirtilen türde yöntemini arar.

  2. Veri kaynağı uygularsa IDynamicDataSource, yöntemi bağlam türü (DataContext veya ObjectContext nesnesi) üzerinde yöntemini arar.

  3. yöntemi bir şablon denetiminde, sayfanın temel sınıfında veya kullanıcı denetiminde yöntemini arar.

sınıfı MethodExpression , yöntem ifadesinin CustomExpression bir yöntem çağrısına yanıt olarak yürütülmesi ve özel ifadenin bir olaya yanıt olarak yürütülmesi dışında sınıfına benzer.

Oluşturucular

MethodExpression()

MethodExpression sınıfının yeni bir örneğini başlatır.

Özellikler

Context

HttpContext Sahip denetiminin örneğini alır.

(Devralındığı yer: DataSourceExpression)
DataSource

Sahip denetimiyle ilişkili veri kaynağı nesnesini alır.

(Devralındığı yer: DataSourceExpression)
IgnoreIfNotFound

İfadenin yoksayılıp yoksayılmayacağını belirten bir değer alır veya ayarlar.

IsTrackingViewState

Veri kaynağı ifade nesnesinin görünüm durumu değişikliklerini izleyip izlemediğini gösteren bir değer alır.

(Devralındığı yer: DataSourceExpression)
MethodName

Özel bir LINQ sorgusu içeren yöntemin adını alır veya ayarlar.

Owner

Sahip denetimini alır.

(Devralındığı yer: DataSourceExpression)
Parameters

Bu DataSourceExpression nesneyle ilişkili parametreleri alır.

(Devralındığı yer: ParameterDataSourceExpression)
TypeName

Yöntemi özel sorguyu içeren sınıfı alır veya ayarlar.

ViewState

Geçerli görünüm durumu bilgilerini içeren sınıfın bir örneğini StateBag alır.

(Devralındığı yer: DataSourceExpression)

Yöntemler

Equals(Object)

Belirtilen nesnenin geçerli nesneye eşit olup olmadığını belirler.

(Devralındığı yer: Object)
GetHashCode()

Varsayılan karma işlevi işlevi görür.

(Devralındığı yer: Object)
GetQueryable(IQueryable)

Belirtilen IQueryable nesneyi kullanarak ifadeyi çözümler.

GetType()

Type Geçerli örneğini alır.

(Devralındığı yer: Object)
LoadViewState(Object)

Nesnedeki kalıcı olması gereken değerlerin ParameterDataSourceExpression durumunu yükler.

(Devralındığı yer: ParameterDataSourceExpression)
MemberwiseClone()

Geçerli Objectöğesinin sığ bir kopyasını oluşturur.

(Devralındığı yer: Object)
SaveViewState()

Nesnenin geçerli görünüm durumunu ParameterDataSourceExpression kaydeder.

(Devralındığı yer: ParameterDataSourceExpression)
SetContext(Control, HttpContext, IQueryableDataSource)

Belirtilen sahip denetimini, bağlamını ve veri kaynağını kullanarak ifadeyi yürütür.

(Devralındığı yer: ParameterDataSourceExpression)
SetDirty()

DataSourceExpression Durumu görünüm durumunda kaydedilecek şekilde nesneyi işaretler.

(Devralındığı yer: DataSourceExpression)
ToString()

Geçerli nesneyi temsil eden dizeyi döndürür.

(Devralındığı yer: Object)
TrackViewState()

Değişikliklerin nesnenin ParameterDataSourceExpression nesnesinde depolanabilmesi için nesnenin StateBag görünüm durumu değişikliklerini izler.

(Devralındığı yer: ParameterDataSourceExpression)

Belirtik Arabirim Kullanımları

IStateManager.IsTrackingViewState

Bir sınıf tarafından uygulandığında, bir veri kaynağı ifade nesnesinin görünüm durumu değişikliklerini izleyip izlemediğini belirten bir değer alır.

(Devralındığı yer: DataSourceExpression)
IStateManager.LoadViewState(Object)

Bir sınıf tarafından uygulandığında, veri kaynağı ifade nesnesinin önceden kaydedilmiş görünüm durumunu yükler.

(Devralındığı yer: DataSourceExpression)
IStateManager.SaveViewState()

Bir sınıf tarafından uygulandığında, nesnenin geçerli görünüm durumunu DataSourceExpression kaydeder.

(Devralındığı yer: DataSourceExpression)
IStateManager.TrackViewState()

Bir sınıf tarafından uygulandığında, değişikliklerin veri kaynağı ifade nesnesinin DataSourceExpression nesnesinde depolanabilmesi için nesnenin StateBag görünüm durumu değişikliklerini izler.

(Devralındığı yer: DataSourceExpression)

Şunlara uygulanır