MethodExpression Klass
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
Ger ett sätt att ange en anpassad LINQ-fråga som definieras i en metod.
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
- Arv
Exempel
I följande exempel visas hur du söker i fältet ListPrice i tabellen Produkter i AdventureWorks-databasen efter produkter som har ett listpris på 400 eller mer. Det här exemplet visar hur du skapar en anpassad LINQ-fråga i en metod i sidkod och hur du anropar metoden i QueryExtender kontrollen.
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;
}
I följande exempel visas hur du anropar metoden på sidan.
<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>
Kommentarer
Kontrollen QueryExtender stöder anpassade LINQ-frågor. Du kan definiera en anpassad LINQ-fråga i en metod och använda filteralternativet MethodExpression för att anropa frågan i QueryExtender kontrollen.
Metoden som innehåller den anpassade LINQ-frågan måste uppfylla följande villkor:
Metoden måste vara statisk (
Sharedi Visual Basic). Den första parametern måste vara ett IQueryable<T> eller IEnumerable<T> -objekt. Metoden kan ha mer än en parameter.Returvärdet kan inte ändra den IQueryable<T> eller-typ IEnumerable<T> som efterfrågas.
Sökningarna MethodExpression efter metoden som innehåller frågan i följande ordning:
Om en TypeName egenskap anges i QueryExtender kontrollen MethodExpression söker objektet efter metoden i den angivna typen.
Om datakällan implementerar IDynamicDataSourcesöker metoden efter metoden för kontexttypen (DataContext eller ObjectContext objektet.)
Metoden söker efter metoden i en mallkontroll, i basklassen för sidan eller i en användarkontroll.
Klassen MethodExpression är som CustomExpression klassen förutom att metoduttrycket körs som svar på ett metodanrop och det anpassade uttrycket körs som svar på en händelse.
Konstruktorer
| Name | Description |
|---|---|
| MethodExpression() |
Initierar en ny instans av MethodExpression klassen. |
Egenskaper
| Name | Description |
|---|---|
| Context |
Hämtar instansen HttpContext av ägarkontrollen. (Ärvd från DataSourceExpression) |
| DataSource |
Hämtar datakällans objekt som är associerat med ägarkontrollen. (Ärvd från DataSourceExpression) |
| IgnoreIfNotFound |
Hämtar eller anger ett värde som anger om uttrycket ska ignoreras. |
| IsTrackingViewState |
Hämtar ett värde som anger om ett datakällans uttrycksobjekt spårar ändringar i visningstillståndet. (Ärvd från DataSourceExpression) |
| MethodName |
Hämtar eller anger namnet på den metod som innehåller en anpassad LINQ-fråga. |
| Owner |
Hämtar ägarkontrollen. (Ärvd från DataSourceExpression) |
| Parameters |
Hämtar de parametrar som är associerade med det här DataSourceExpression objektet. (Ärvd från ParameterDataSourceExpression) |
| TypeName |
Hämtar eller anger klassen vars metod innehåller den anpassade frågan. |
| ViewState |
Hämtar en instans av StateBag klassen som innehåller aktuell information om visningstillstånd. (Ärvd från DataSourceExpression) |
Metoder
| Name | Description |
|---|---|
| Equals(Object) |
Avgör om det angivna objektet är lika med det aktuella objektet. (Ärvd från Object) |
| GetHashCode() |
Fungerar som standard-hash-funktion. (Ärvd från Object) |
| GetQueryable(IQueryable) |
Löser uttrycket med hjälp av det angivna IQueryable objektet. |
| GetType() |
Hämtar den aktuella instansen Type . (Ärvd från Object) |
| LoadViewState(Object) |
Läser in tillståndet för värdena i objektet ParameterDataSourceExpression som måste bevaras. (Ärvd från ParameterDataSourceExpression) |
| MemberwiseClone() |
Skapar en ytlig kopia av den aktuella Object. (Ärvd från Object) |
| SaveViewState() |
Sparar objektets aktuella vytillstånd ParameterDataSourceExpression . (Ärvd från ParameterDataSourceExpression) |
| SetContext(Control, HttpContext, IQueryableDataSource) |
Kör uttrycket med hjälp av den angivna ägarkontrollen, kontexten och datakällan. (Ärvd från ParameterDataSourceExpression) |
| SetDirty() |
DataSourceExpression Markerar objektet så att dess tillstånd sparas i visningstillstånd. (Ärvd från DataSourceExpression) |
| ToString() |
Returnerar en sträng som representerar det aktuella objektet. (Ärvd från Object) |
| TrackViewState() |
Spårar ändringar i visningstillståndet ParameterDataSourceExpression för objektet så att ändringarna kan lagras i StateBag objektets objekt. (Ärvd från ParameterDataSourceExpression) |
Explicita gränssnittsimplementeringar
| Name | Description |
|---|---|
| IStateManager.IsTrackingViewState |
När det implementeras av en klass får du ett värde som anger om ett objekt för datakällans uttryck spårar ändringar i visningstillståndet. (Ärvd från DataSourceExpression) |
| IStateManager.LoadViewState(Object) |
När den implementeras av en klass läser du in det tidigare sparade visningstillståndet för datakälluttrycksobjektet. (Ärvd från DataSourceExpression) |
| IStateManager.SaveViewState() |
När det implementeras av en klass sparar du objektets aktuella vytillstånd DataSourceExpression . (Ärvd från DataSourceExpression) |
| IStateManager.TrackViewState() |
När det implementeras av en klass spårar du ändringar i visningstillståndet DataSourceExpression för objektet så att ändringarna kan lagras i StateBag objektet för datakällans uttrycksobjekt. (Ärvd från DataSourceExpression) |