MyDataSource.SelectParameters["startDate"].DefaultValue =
fromDate.SelectedDate.Date.ToString();
Как видите, я устанавливаю значение по умолчанию для параметра в моем .Net SqlDataSource. Я не думаю, что строка выводит правильный формат, хотя. Какой правильный формат, чтобы T-SQL Datetime соответствовал ему должным образом?
Вот форматы, которые выводятся прямо сейчас:
- 5/1/2009 12:00:00 AM
- 5/04/2009 11:59:59 PM
Редактировать: До того, как у меня был DataSource, где он должен был быть написан SqlDataSource
А вот код
<asp:SqlDataSource ID="MyDataSource" runat="server" ConnectionString="<%$ ConnectionStrings:sampledb %>" SelectCommand="Recording_Select" SelectCommandType="StoredProcedure" OnSelecting="MyDataSource_Selecting">
<SelectParameters>
<asp:ControlParameter ControlID="respondentID" DefaultValue="%" Name="RespondentID" PropertyName="Text" Type="String" />
<asp:SessionParameter Name="projectCode" SessionField="proj" Type="String" />
<asp:ControlParameter ControlID="interviewerList" Name="InterviewerID" PropertyName="SelectedValue" Type="String" />
<asp:ControlParameter ControlID="dispCodeList" Name="dispCode" PropertyName="SelectedValue" Type="Int32" />
<asp:ControlParameter ControlID="fromDate" DefaultValue="1/1/1900" Name="startDate" PropertyName="SelectedValue" Type="DateTime" />
<asp:ControlParameter ControlID="toDate" DefaultValue="1/1/1900" Name="endDate" PropertyName="SelectedValue" Type="DateTime" />
</SelectParameters>
</asp:SqlDataSource>
Edit:
Ну, я разобрался с проблемой, и это покажется немного глупым. Код никогда не вызывал DefaultValue, потому что всегда присутствовало значение. Поэтому мое единственное решение состояло в том, чтобы создать новый скрытый элемент управления меткой и загрузить в него скорректированное значение даты и времени. Это в значительной степени помогло. Я не знаю, как я это упустил.