This article was translated by machine. To view in the article in English, select the English check box. You can also display the English text in a popup window by moving the mouse pointer over the text.
الترجمة
الأصلي
This documentation is archived and is not being maintained.

MethodExpression الفئة

Visual Studio 2010

يوفر طريقة إلى تعيين استعلام LINQ cusإلىm يتم تعريفه في أسلوب.

مساحة الاسم:  System.Web.UI.WebControls.Expressions
التجميع:  System.Web.Extensions (في System.Web.Extensions.dll)

public class MethodExpression : ParameterDataSourceExpression

QueryExtender عنصر تحكم يعتمد استعلامات LINQ مخصصة. يمكنك تعريف استعلام LINQ مخصصة في أسلوب واستخدام MethodExpressionتصفية خيار لاستدعاء الاستعلام في QueryExtenderعنصر التحكم.

The أسلوب that يحتوي على the مخصص LINQ استعلام must meet the following خصائص:

  • The أسلوب must be ثابت (Shared في Visual أساسى). The أول معلمة must be an IQueryable<T> أو IEnumerable<T> كائن. The أسلوب can have المزيد واحد معلمة.

  • The return القيمة cannot تغيير the IQueryable<T> أو IEnumerable<T> نوع that هو queried.

The MethodExpression searches for the أسلوب that يحتوي على the استعلام في the following ترتيب:

  1. If a TypeName خاصية هو specified في the QueryExtender عنصر تحكم, the MethodExpression كائن looks for the أسلوب في the specified نوع.

  2. If the بيانات المصدر implements IDynamicDataSource, the أسلوب looks for the أسلوب تشغيل the سياق نوع (DataContext أو ObjectContext كائن.)

  3. The أسلوب looks for the أسلوب في a قالب عنصر تحكم, في the فئة الأساس for the الصفحة, أو في a مستخدم عنصر تحكم.

MethodExpression الفئة هو مثل CustomExpressionلفئة ما عدا التي التعبير أسلوب هو تنفيذها ردا على استدعاء أسلوب، وتعبير مخصص هو ينفذ كاستجابة لحدث.

يوضح المثال التالي كيفية إلى بحث عن الحقل ListPrice من جدول "المنتجات" في قاعدة بيانات AdventureWorks للمنتجات التي لديها سعر قائمة 400 أو أكثر. يوضح هذا المثال كيفية إنشاء استعلام مخصص LINQ في أسلوب في تعليمات الصفحة البرمجية وكيفية استدعاء الأسلوب في QueryExtenderعنصر تحكم.

[Visual Basic]

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

[#C]

public static IQueryable<Product> 
        FilterStandardPrice(IQueryable<Product> query)
{
        return from p in query
                  where p.ListPrice >= 400
                  select p;

    }

يوضح المثال التالي كيفية إلى استدعاء الأسلوب في الصفحة.

<html xmlns="http://www.w3.org/1999/xhtml">
<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>

يتم تأمين العملية الجزئية لأي عضو عمومي ثابت (مشترك في Visual Basic) من هذا النوع. لن يتم ضمان تأمين العملية الجزئية لأي عضو مثيل.

نظام التشغيل Windows 7, Windows Vista, Windows XP SP2, Windows Server 2008, نظام التشغيل Windows Server 2003

لا يدعم .NET Framework و .NET Compact Framework كافة الإصدارات الخاصة بكل نظام أساسي. للحصول على قائمة بالإصدارات المدعمة، راجع متطلبات النظام إطار عمل .NET.

.NET Framework

مدعوم في: 4
إظهار: