2

我有一个网格视图,我可以在其中跟踪截止日期。我有 2 个日期。预期日期(截止日期应该完成的日期)和实际日期(截止日期完成的日期)。现在在我的数据库中,所有预期的日期都有值,因为它们应该在每个月的同一日期完成。但是实际日期是空白的。

由于空值,这给了我以下错误:Exception Details: System.InvalidCastException: Specified cast is not valid.

现在我在 Internet 上查找时发现了一些东西,那就是调用辅助方法(请参阅 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

4

1 回答 1

1

您需要检查空值:

<%# string.IsNullOrEmpty(Bind("Actual_Date").ToString()) ? "0000-00-00 00:00:00.000": Bind("Actual_Date").ToString() %>
于 2011-12-16T01:56:59.403 回答