2012-09-20 57 views
1

我嘗試之前檢查空評估日期在我的選擇器,因爲我允許進入無日期:指定的轉換是無效的日期選擇器

<telerik:RadDatePicker ID="rpick_to_date" runat="server" Visible="false" SelectedDate='<%# Eval("to_date") == null ? "" : Eval("to_date") %>'> 
              <Calendar UseColumnHeadersAsSelectors="False" UseRowHeadersAsSelectors="False" ViewSelectorText="x"> 
              </Calendar> 
              <DatePopupButton HoverImageUrl="" ImageUrl="" /> 
              <DateInput DateFormat="dd/MM/yyyy" DisplayDateFormat="dd/MM/yyyy"> 
              </DateInput> 
</telerik:RadDatePicker> 

,但我得到下面的錯誤全部時間:

指定的轉換無效。

+2

什麼是'to_date'?它是可以空的日期時間還是...? – simonlchilds

+0

它是'可空'日期'informix'數據庫 –

+0

擺脫內嵌的Eval代碼,並開始播放一些硬編碼的字符串,看看什麼可以和什麼不能作爲'SelectedDate'投。這可能是因爲它不接受string.empty,或者像@simonlchilds提到的那樣,它可能會試圖評估一個不可爲空的datetime是否爲null,並且可能不喜歡它。它可能只是「to_date」的值不是可接受的日期格式? –

回答

4

我相信你應該使用DbSelectedDate屬性值,而不是SelectedDate

使用綁定DbSelectedDate屬性比SelectedDate以數據庫友好的方式獲取或設置RadDatePicker的 日期內容。與SelectedDate唯一的 區別在於,如果 新值爲空或DBNull,它不會拋出異常。設置空值將在內部 將SelectedDate恢復爲空值,即輸入值將爲 爲空。

From here

1

您可以使用此代碼(刪除字符串 「」) - SelectedDateNullable<DateTime>

SelectedDate='<%# Eval("to_date")%>'