2011-08-01 2 views
0

J'ai la requête ci-dessous sur ma page ASPX qui fonctionne:LinqDataSource Où Paramètre

<asp:LinqDataSource ID="LinqDataSource1" runat="server" 
    ContextTypeName="InventoryDataContext" 
    EntityTypeName="" TableName="V_InventoryForDisplays" 
    Where="ConfiguredCarId == @ConfiguredCarId"> 
    <WhereParameters> 
     <asp:Parameter DefaultValue="2827" Name="ConfiguredCarId" Type="Int32" /> 
    </WhereParameters> 
</asp:LinqDataSource> 

je dois changer la clause Where d'utiliser une déclaration Contient. J'ai une auto-propertyЖ

public IEnumerable<int> ConfiguredCarIds { get; set; } 

dans la même classe que je voudrais utiliser

alors quelle est la syntaxe correcte pour ce faire:

Where="ConfiguredCarIds.Contains (ConfiguredCarId)" 

Merci!

Répondre

2

Essayez Where="ConfiguredCarId.Contains(@ConfiguredCarId)"

+0

Je veux faire l'opposé Contient l'instruction. Peu importe, j'ai abandonné sur LinqDataSource et utilise maintenant un objet qui fait la requête Linq sous-jacente. Je trouve la syntaxe plus facile – bmanu

+1

Je vous entends là-dessus. Souvenez-vous simplement que vous avez également la possibilité de définir l'événement selection_event sur linqdatasource. – rkw

Questions connexes