2011-12-06 92 views
1

我有一個gridview用於跟蹤截止日期。我有兩個日期herefor。預計日期(截止日期應該完成的日期)和實際日期(截止日期完成日期)。現在在我的數據庫中,所有預期的日期都有值,因爲它們的目的是在每個月的同一日期左右完成。但實際日期是空白的。C#ASP.NET - 日曆控件 - 指定的強制轉換無效

這給了我下面的錯誤是由於空值:Exception Details: System.InvalidCastException: Specified cast is not valid.

現在我找到的東西,而尋找在互聯網上,這是調用一個輔助方法(見selectedDate屬性 - 我複製到的相同的值選擇日期到VisibleDate,因爲否則我有相同的錯誤)但是這給我帶來了另一個錯誤,那就是我無法獲得新選定的值!

<asp:TemplateField HeaderText="Actual Date" SortExpression="Actual_Date"> 
    <EditItemTemplate> 
     <asp:Calendar ID="Calendar2" runat="server" VisibleDate='<%# Bind("Actual_Date") %>' SelectedDate='<%# FixNullDate(Eval("Actual_Date")) %>'></asp:Calendar> 
    </EditItemTemplate> 
    <ItemTemplate> 
     <asp:Label ID="Label2" runat="server" 
      Text='<%# Bind("Actual_Date", "{0:d}") %>'> 
     </asp:Label> 
    </ItemTemplate> 
</asp:TemplateField> 

這是我從我的TemplateField的實際日期

請幫幫忙,我有點失去了代碼:P

回答

1

你需要檢查空:

<%# string.IsNullOrEmpty(Bind("Actual_Date").ToString()) ? "0000-00-00 00:00:00.000": Bind("Actual_Date").ToString() %>