DefaultValue
было то, что было не так с кодом, как было предложено другими.
Однако, установив DefaultValue
в
"<%# DateTime.Now %>"
, как предложил Andomar (что бы разметка выглядела примерно так:
<WhereParameters>
<asp:Parameter DefaultValue="<%# DateTime.Now %>" Name="DateField" Type="DateTime" />
</WhereParameters>
также не будет работать, потому что выражения DataBinding поддерживаются только для объектов, имеющих событие DataBinding, и ни Parameter
, ни ControlParameter
не имеют его.
Для строки довольно легко создать TextBox или Label и поместить выражение <% #%> в значение этого нового поля (подробнее здесь ), но это было немного более усложняется значением DateTime, так как сравнение SQL DateTime с .NET DateTime вызвало исключение.
Это можно сделать довольно легко в событии Page_Load с помощью
DataContext DataContext1 = new DataContext();
var c = from a in DataContext1.Field
where a.DateField >= DateTime.Now
select a;
DropDownList.DataSource = c;
DropDownList.DataBind();