MethodExpression Klas
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
Biedt een manier om een aangepaste LINQ-query op te geven die in een methode is gedefinieerd.
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
- Overname
Voorbeelden
In het volgende voorbeeld ziet u hoe u in het veld ListPrice van de tabel Producten in de Database AdventureWorks kunt zoeken naar producten met een catalogusprijs van 400 of meer. In dit voorbeeld ziet u hoe u een aangepaste LINQ-query maakt in een methode in paginacode en hoe u de methode in het QueryExtender besturingselement aanroept.
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;
}
In het volgende voorbeeld ziet u hoe u de methode op de pagina aanroept.
<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>
Opmerkingen
Het QueryExtender besturingselement ondersteunt aangepaste LINQ-query's. U kunt een aangepaste LINQ-query definiëren in een methode en de MethodExpression filteroptie gebruiken om de query in het QueryExtender besturingselement aan te roepen.
De methode die de aangepaste LINQ-query bevat, moet voldoen aan de volgende criteria:
De methode moet statisch zijn (
Sharedin Visual Basic). De eerste parameter moet een IQueryable<T> of IEnumerable<T> object zijn. De methode kan meer dan één parameter hebben.De retourwaarde kan het IQueryable<T> of IEnumerable<T> type waarop een query wordt uitgevoerd, niet wijzigen.
Hiermee MethodExpression wordt gezocht naar de methode die de query in de volgende volgorde bevat:
Als een TypeName eigenschap is opgegeven in het QueryExtender besturingselement, zoekt het MethodExpression object naar de methode in het opgegeven type.
Als de gegevensbron wordt geïmplementeerd IDynamicDataSource, zoekt de methode naar de methode op het contexttype (DataContext of ObjectContext object).)
De methode zoekt naar de methode in een sjabloonbeheer, in de basisklasse voor de pagina of in een gebruikersbeheer.
De MethodExpression klasse is vergelijkbaar met de CustomExpression klasse, behalve dat de methode-expressie wordt uitgevoerd als reactie op een methodeaanroep en de aangepaste expressie wordt uitgevoerd als reactie op een gebeurtenis.
Constructors
| Name | Description |
|---|---|
| MethodExpression() |
Initialiseert een nieuw exemplaar van de MethodExpression klasse. |
Eigenschappen
| Name | Description |
|---|---|
| Context |
Hiermee haalt u het HttpContext exemplaar van het eigenaarbeheer op. (Overgenomen van DataSourceExpression) |
| DataSource |
Hiermee haalt u het gegevensbronobject op dat is gekoppeld aan het eigenaarbeheer. (Overgenomen van DataSourceExpression) |
| IgnoreIfNotFound |
Hiermee wordt een waarde opgehaald of ingesteld die aangeeft of de expressie moet worden genegeerd. |
| IsTrackingViewState |
Hiermee wordt een waarde opgehaald die aangeeft of een expressieobject voor de gegevensbron de status van de weergave bijhoudt. (Overgenomen van DataSourceExpression) |
| MethodName |
Hiermee haalt u de naam op van de methode die een aangepaste LINQ-query bevat. |
| Owner |
Hiermee haalt u het besturingselement van de eigenaar op. (Overgenomen van DataSourceExpression) |
| Parameters |
Hiermee haalt u de parameters op die aan dit DataSourceExpression object zijn gekoppeld. (Overgenomen van ParameterDataSourceExpression) |
| TypeName |
Hiermee haalt u de klasse op waarvan de methode de aangepaste query bevat. |
| ViewState |
Hiermee wordt een exemplaar opgehaald van de StateBag klasse die de huidige informatie over de weergavestatus bevat. (Overgenomen van DataSourceExpression) |
Methoden
| Name | Description |
|---|---|
| Equals(Object) |
Bepaalt of het opgegeven object gelijk is aan het huidige object. (Overgenomen van Object) |
| GetHashCode() |
Fungeert als de standaardhashfunctie. (Overgenomen van Object) |
| GetQueryable(IQueryable) |
Hiermee wordt de expressie omgezet met behulp van het opgegeven IQueryable object. |
| GetType() |
Hiermee haalt u de Type huidige instantie op. (Overgenomen van Object) |
| LoadViewState(Object) |
Laadt de status van de waarden in het ParameterDataSourceExpression object dat moet worden bewaard. (Overgenomen van ParameterDataSourceExpression) |
| MemberwiseClone() |
Hiermee maakt u een ondiepe kopie van de huidige Object. (Overgenomen van Object) |
| SaveViewState() |
Hiermee wordt de huidige weergavestatus van het ParameterDataSourceExpression object opgeslagen. (Overgenomen van ParameterDataSourceExpression) |
| SetContext(Control, HttpContext, IQueryableDataSource) |
Hiermee wordt de expressie uitgevoerd met behulp van het opgegeven eigenaarbesturingselement, de context en de gegevensbron. (Overgenomen van ParameterDataSourceExpression) |
| SetDirty() |
Hiermee wordt het DataSourceExpression object gemarkeerd, zodat de status ervan wordt opgeslagen in de weergavestatus. (Overgenomen van DataSourceExpression) |
| ToString() |
Retourneert een tekenreeks die het huidige object vertegenwoordigt. (Overgenomen van Object) |
| TrackViewState() |
Hiermee worden wijzigingen in de weergavestatus van het ParameterDataSourceExpression object bijgehouden, zodat de wijzigingen kunnen worden opgeslagen in het StateBag object voor het object. (Overgenomen van ParameterDataSourceExpression) |
Expliciete interface-implementaties
| Name | Description |
|---|---|
| IStateManager.IsTrackingViewState |
Wanneer een klasse wordt geïmplementeerd, haalt u een waarde op die aangeeft of een gegevensbronexpressieobject wijzigingen in de weergavestatus bijhoudt. (Overgenomen van DataSourceExpression) |
| IStateManager.LoadViewState(Object) |
Wanneer deze door een klasse wordt geïmplementeerd, laadt u de eerder opgeslagen weergavestatus van het object voor de gegevensbronexpressie. (Overgenomen van DataSourceExpression) |
| IStateManager.SaveViewState() |
Wanneer deze wordt geïmplementeerd door een klasse, wordt de huidige weergavestatus van het DataSourceExpression object opgeslagen. (Overgenomen van DataSourceExpression) |
| IStateManager.TrackViewState() |
Wanneer deze door een klasse wordt geïmplementeerd, worden weergavestatuswijzigingen van het DataSourceExpression object bijgehouden, zodat de wijzigingen kunnen worden opgeslagen in het StateBag object voor het object voor de gegevensbronexpressie. (Overgenomen van DataSourceExpression) |