J'essaie de créer un LinqDataSource pour lier à un DropDownList dans un formulaire ASP.NET. Je veux seulement montrer les éléments en fonction d'une date (qui est l'un des champs de la base de données). Fondamentalement, les éléments que je veux montrer sont ceux qui vont arriver dans les futurs (c'est-à-dire après DateTime.Now).LinqDataSource et le format DateTime
je tentais le balisage suivant:
<asp:DropDownList runat="server" ID="DropDownList1"
AppendDataBoundItems="True" DataSourceID="LinqDataSource1"
DataTextField="TextField" DataValueField="ValueField">
</asp:DropDownList>
<asp:LinqDataSource ID="LinqDataSource1" runat="server"
ContextTypeName="DataContext1" TableName="Table"
Where="DateField >= @DateField">
<WhereParameters>
<asp:Parameter DefaultValue="DateTime.Now" Name="DateField"
Type="DateTime" />
</WhereParameters>
</asp:LinqDataSource>
Je reçois une exception en format disant que « La chaîne n'a pas été reconnu comme un DateTime valide » lorsque je tente de l'exécuter. Cependant, les dates dans ma base de données semblent être bien, car un DateTime.Parse fonctionne parfaitement sur eux. Le champ DateField est de type datetime dans SQL.
Qu'est-ce qui me manque ici?
Merci!
Mettez-moi dans la bonne direction. Cependant, vous ne pouvez pas utiliser une expression sur un paramètre. Voir ma réponse pour plus de détails. –