MyDataSource.SelectParameters["startDate"].DefaultValue =
fromDate.SelectedDate.Date.ToString();
正如您所看到的,我在.Net SqlDataSource中設置了參數的默認值。我不認爲字符串正在輸出正確的格式。什麼是正確的格式,以便T-SQL Datetime能夠正確匹配它?如何將.Net日期時間轉換爲T-SQL日期時間
下面是現在的輸出格式:
- 2009年5月1日上午12時零零分00秒
- 2009年5月4日下午十一時59分59秒
編輯:之前,我有,它應該已被寫入的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>
編輯: 好吧,我想通了這個問題,它似乎有點傻。代碼永遠不會調用DefaultValue,因爲總是存在一個值。所以我唯一的解決方案是製作一個新的隱藏標籤控件,並將更正後的日期時間加載到該標籤中。這幾乎做了訣竅。我不知道我是如何忽略這一點的。
好的建議。我沒有首先做到這一點,所以我不得不考慮爲什麼它不是這樣設置的。 – 2009-05-04 21:02:10