在 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)
{
}
我认为您正在尝试将包含可空日期时间列(dtTransferDateFirst)的表(TransferOrders)绑定到具有不可为空的日期时间列的网格。尝试将表上的列设置为不可为空。