在 C# 中,不能将 null 值分配给类型为 System.DateTime 的成员

本文关键字:类型 System DateTime 成员 分配 不能 null | 更新日期: 2023-09-27 17:56:20

我尝试从 LinqDataSource 填充网格视图。当页面运行时,我收到此错误:

不能是 System.DateTime 类型的空成员,该类型是值类型,不能为空值赋值。

我的错误在哪里?

阿斯普克斯

    <dx:ASPxDateEdit ID="dtTranferDateFirst" runat="server" 
    DisplayFormatString="dd.MM.yyyy dddd" ></dx:ASPxDateEdit>
   <dx:ASPxButton ID="btnGetTransfers" runat="server" Text="Get Transfers" 
    OnClick="btnGetTransfers_Click"></dx:ASPxButton>
   <dx:ASPxGridView  ID="grdTransferOrder"....
   .....
    ....
   </dx:ASPxGridView>

     <asp:LinqDataSource ID="lnqTransferOrder" 
     ContextTypeName="MyApp.Classes.ModelDataContext"
     TableName="TransferOrders" EnableDelete="True"  EnableInsert="True" 
     EnableUpdate="True" 
     runat="server" ondeleting="lnqTransferOrder_Deleting" 
     OnInserting="lnqTransferOrder_Inserting" OnUpdating="lnqTransferOrder_Updating"
     Where="Statues==0" EntityTypeName="">
    </asp:LinqDataSource>

C#

    private DateTime dtLastDate = DateTime.MaxValue;
    private void BindGrid()
    {
        this.lnqTransferOrder.Where = "DateScheduled >= DateTime.Parse('"" + 
        this.dtTranferDateFirst.Date.ToString() + "'")&&DateScheduled < 
        DateTime.Parse('"" + this.dtLastDate.Date.ToString() + "'") && Statues!=5";
        this.grdTransferOrder.DataBind();
    }
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!base.IsPostBack)
        {
            this.dtTranferDateFirst.Date = System.DateTime.Today;
        }
        this.dtLastDate = this.dtTranferDateFirst.Date.AddDays(1.0);
        this.BindGrid();
    }
    protected void btnGetTransfers_Click(object sender, System.EventArgs e)
     {
     }

在 C# 中,不能将 null 值分配给类型为 System.DateTime 的成员

我认为您正在尝试将包含可空日期时间列(dtTransferDateFirst)的表(TransferOrders)绑定到具有不可为空的日期时间列的网格。尝试将表上的列设置为不可为空。

相关文章: