Я пытаюсь создать LinqDataSource для привязки к DropDownList в форме ASP.NET. Я хочу показать только элементы в соответствии с датой (которая является одним из полей в базе данных).LinqDataSource и формат DateTime
В принципе, элементы, которые я хочу показать, это те, которые произойдут во фьючерсах (то есть после DateTime.Now).
Я пытался следующая разметка:
<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>
Я получаю исключение формата, говоря, что «Строка не была признана в качестве действительного DateTime», когда я пытаюсь запустить его. Однако даты в моей базе данных кажутся прекрасными, потому что DateTime.Parse отлично работает на них. DateField имеет тип datetime в SQL.
Что мне здесь не хватает?
Спасибо!
Поставь меня в правильном направлении. Однако вы не можете использовать выражение в параметре. См. Мой ответ для более подробной информации. –