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 örnek, AdventureWorks veritabanındaki Products tablosunun ListPrice alanında 400 veya daha fazla liste fiyatına sahip ü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, sayfada 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 filtre seçeneğini kullanarak MethodExpression denetimdeki QueryExtender sorguyu çağırabilirsiniz.

Özel LINQ sorgusunu içeren yöntemin aşağıdaki ölçütleri karşılaması 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ünde (DataContext veya ObjectContext nesnesinde) 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

Name Description
MethodExpression()

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

Özellikler

Name Description
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 izlediğini gösteren bir değer alır.

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

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

Name Description
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()

Geçerli örneğin Type 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 Objectbasit 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ı ve veri kaynağını kullanarak ifadeyi yürütür.

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

Durumunun DataSourceExpression görünüm durumunda kaydedilmesi için nesneyi işaretler.

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

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

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

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

(Devralındığı yer: ParameterDataSourceExpression)

Belirtik Arabirim Kullanımları

Name Description
IStateManager.IsTrackingViewState

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

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

Bir sınıf tarafından uygulandığında, veri kaynağı ifade nesnesinin daha önce 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 nesnesi için nesnede StateBag depolanabilmesi için nesnenin görünüm durumu değişikliklerini DataSourceExpression izler.

(Devralındığı yer: DataSourceExpression)

Şunlara uygulanır