2

締め切りを追跡するグリッドビューがあります。ここに2つの日付があります。予定日 (締め切りが完了するはずの日付) と実際の日付 (締め切りが完了した日)。現在、私のDBでは、予想されるすべての日付に値があります。これは、毎月ほぼ同じ日付に終了することを意図しているためです。ただし、実際の日付は空白です。

これにより、null 値が原因で次のエラーが発生します。Exception Details: System.InvalidCastException: Specified cast is not valid.

今、私はインターネットを見ているときに何かを見つけました.それはヘルパーメソッドを呼び出すことです.新しく選択した値を取得できない!

<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

null を確認する必要があります。

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