Ich versuche, eine LinqDataSource zu erstellen, um an eine DropDownList in einem ASP.NET-Formular zu binden. Ich möchte nur die Elemente nach einem Datum anzeigen (die eines der Felder in der Datenbank ist).
Im Grunde genommen sind die Elemente, die ich anzeigen möchte, diejenigen, die in der Zukunft (d. h. nach DateTime.Now) auftreten werden.
Ich habe das folgende Markup ausprobiert:
<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>
Ich erhalte eine Formatausnahme, die besagt, dass "die Zeichenfolge nicht als gültige DateTime erkannt wurde", wenn ich versuche, sie auszuführen. Die Daten in meiner Datenbank scheinen jedoch in Ordnung zu sein, denn DateTime.Parse funktioniert einwandfrei mit ihnen. Das DateField ist in SQL vom Typ datetime.
Was übersehe ich hier?
Danke!