Nyelv

MethodExpression Osztály

Definíció

Lehetővé teszi egy metódusban definiált egyéni LINQ-lekérdezés megadását.

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
Öröklődés

Példák

Az alábbi példa bemutatja, hogyan kereshet a Termékek tábla ListPrice mezőjében az AdventureWorks adatbázisban olyan termékek esetében, amelyek listaára 400 vagy több. Ez a példa bemutatja, hogyan hozhat létre egyéni LINQ-lekérdezést egy metódusban lapkódban, és hogyan hívhatja meg a metódust a QueryExtender vezérlőben.

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;

    }

Az alábbi példa bemutatja, hogyan hívhatja meg a metódust a lapon.

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

Megjegyzések

A QueryExtender vezérlő támogatja az egyéni LINQ-lekérdezéseket. Egyéni LINQ-lekérdezést definiálhat egy metódusban, és a MethodExpression szűrőbeállítással meghívhatja a lekérdezést a QueryExtender vezérlőben.

Az egyéni LINQ-lekérdezést tartalmazó metódusnak meg kell felelnie a következő feltételeknek:

  • A metódusnak statikusnak kell lennie (Shared Visual Basic). Az első paraméternek egy vagy IQueryable<T> objektumnak IEnumerable<T> kell lennie. A metódus több paramétert is tartalmazhat.

  • A visszaadott érték nem módosíthatja a IQueryable<T> lekérdezett típust vagy IEnumerable<T> típust.

A MethodExpression lekérdezést tartalmazó metódus keresése a következő sorrendben:

  1. TypeName Ha egy tulajdonság meg van adva a QueryExtender vezérlőben, az MethodExpression objektum a megadott típusban keresi a metódust.

  2. Ha az adatforrás implementálva van IDynamicDataSource, a metódus a környezeti típuson (DataContext vagy ObjectContext objektumon) keresi a metódust.)

  3. A metódus egy sablonvezérlőben, a lap alaposztályában vagy egy felhasználói vezérlőben keresi a metódust.

Az MethodExpression osztály az osztályhoz hasonló CustomExpression , azzal a kivételrel, hogy a metóduskifejezés egy metódushívásra válaszul lesz végrehajtva, az egyéni kifejezés pedig egy eseményre válaszul lesz végrehajtva.

Konstruktorok

Name Description
MethodExpression()

Inicializálja a MethodExpression osztály új példányát.

Tulajdonságok

Name Description
Context

Lekéri a HttpContext tulajdonosvezérlő példányát.

(Öröklődés forrása DataSourceExpression)
DataSource

Lekéri a tulajdonosvezérlőhöz társított adatforrás-objektumot.

(Öröklődés forrása DataSourceExpression)
IgnoreIfNotFound

Olyan értéket kap vagy állít be, amely jelzi, hogy a kifejezést figyelmen kívül kell-e hagyni.

IsTrackingViewState

Olyan értéket kap, amely jelzi, hogy egy adatforráskifejezés-objektum követi-e a nézetállapot változásait.

(Öröklődés forrása DataSourceExpression)
MethodName

Lekéri vagy beállítja az egyéni LINQ-lekérdezést tartalmazó metódus nevét.

Owner

Lekéri a tulajdonosi irányítást.

(Öröklődés forrása DataSourceExpression)
Parameters

Lekéri az objektumhoz DataSourceExpression társított paramétereket.

(Öröklődés forrása ParameterDataSourceExpression)
TypeName

Lekéri vagy beállítja azt az osztályt, amelynek metódusa tartalmazza az egyéni lekérdezést.

ViewState

Lekéri az StateBag osztály egy példányát, amely az aktuális nézetállapot-információkat tartalmazza.

(Öröklődés forrása DataSourceExpression)

Metódusok

Name Description
Equals(Object)

Meghatározza, hogy a megadott objektum egyenlő-e az aktuális objektummal.

(Öröklődés forrása Object)
GetHashCode()

Ez az alapértelmezett kivonatoló függvény.

(Öröklődés forrása Object)
GetQueryable(IQueryable)

A kifejezés feloldása a megadott IQueryable objektum használatával.

GetType()

Lekéri az Type aktuális példányt.

(Öröklődés forrása Object)
LoadViewState(Object)

Betölti a megőrzendő objektum értékeinek ParameterDataSourceExpression állapotát.

(Öröklődés forrása ParameterDataSourceExpression)
MemberwiseClone()

Az aktuális Objectpéldány sekély másolatát hozza létre.

(Öröklődés forrása Object)
SaveViewState()

Menti az objektum aktuális nézetállapotát ParameterDataSourceExpression .

(Öröklődés forrása ParameterDataSourceExpression)
SetContext(Control, HttpContext, IQueryableDataSource)

A kifejezést a megadott tulajdonosvezérlő, környezet és adatforrás használatával hajtja végre.

(Öröklődés forrása ParameterDataSourceExpression)
SetDirty()

Megjelöli az DataSourceExpression objektumot, hogy az állapota megtekintési állapotban legyen mentve.

(Öröklődés forrása DataSourceExpression)
ToString()

Az aktuális objektumot jelképező sztringet ad vissza.

(Öröklődés forrása Object)
TrackViewState()

Nyomon követi az ParameterDataSourceExpression objektum nézetállapot-változásait, hogy a módosítások az objektum objektumában StateBag tárolhatók legyenek.

(Öröklődés forrása ParameterDataSourceExpression)

Explicit interfész-implementációk

Name Description
IStateManager.IsTrackingViewState

Egy osztály által implementált érték azt jelzi, hogy egy adatforráskifejezés-objektum követi-e a nézetállapot változásait.

(Öröklődés forrása DataSourceExpression)
IStateManager.LoadViewState(Object)

Amikor egy osztály implementálja, betölti az adatforráskifejezés-objektum korábban mentett nézetállapotát.

(Öröklődés forrása DataSourceExpression)
IStateManager.SaveViewState()

Amikor egy osztály implementálja, menti az objektum aktuális nézetállapotát DataSourceExpression .

(Öröklődés forrása DataSourceExpression)
IStateManager.TrackViewState()

Amikor egy osztály implementálja, nyomon követi az DataSourceExpression objektum állapotváltozásainak megtekintését, hogy a módosítások az StateBag adatforrás-kifejezés objektumában tárolhatók legyenek.

(Öröklődés forrása DataSourceExpression)

A következőre érvényes: