MethodExpression Sınıf
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
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:
Yöntemin statik
Shared
(Visual Basic'te) olması gerekir. İlk parametre bir IQueryable<T> veya IEnumerable<T> nesnesi olmalıdır. Yöntemin birden fazla parametresi olabilir.Dönüş değeri sorgulanan veya IEnumerable<T> türünü değiştiremezIQueryable<T>.
Sorguyu MethodExpression içeren yöntemi aşağıdaki sırayla arar:
Denetimde QueryExtender bir TypeName özellik belirtilirse, MethodExpression nesne belirtilen türde yöntemini arar.
Veri kaynağı uygularsa IDynamicDataSource, yöntemi bağlam türü (DataContext veya ObjectContext nesnesi) üzerinde yöntemini arar.
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) |