C # - ASP.NET - Управление календарем - Указанное приведение неверно - PullRequest
1 голос
/ 06 декабря 2011

У меня есть вид сетки, где я отслеживаю сроки.У меня есть 2 даты здесь.Ожидаемая дата (дата, когда срок должен быть завершен) и фактическая дата (дата, когда срок был завершен).Теперь в моей БД все ожидаемые даты имеют значения, потому что они должны заканчиваться примерно в одну и ту же дату каждый месяц.Однако фактическая дата не указана.

Это дает мне следующую ошибку из-за нулевых значений: 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 Ответ

1 голос
/ 16 декабря 2011

Вам нужно проверить на ноль:

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