C# - ASP.NET - 日历控件 - 指定的强制转换无效

时间:2011-12-06 08:59:19

标签: asp.net calendar templatefield

我有一个gridview,我跟踪截止日期。我有两个约会。预计日期(截止日期应完成的日期)和实际日期(截止日期完成的日期)。现在在我的数据库中,所有预期日期都有值,因为它们意味着每月大约在同一天完成。但实际日期为空白。

由于空值:Exception Details: System.InvalidCastException: Specified cast is not valid.

,这会导致以下错误

现在我在互联网上找到了一些东西,那就是调用一个帮助方法(参见selectedDate属性 - 我将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>

以下是我的模板字段中实际日期的代码

请帮助,我有点失落:p

1 个答案:

答案 0 :(得分:1)

您需要检查null:

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