我试图在互联网上关注一些例子但没有成功
我正在 GridView1_RowDataBound方法
中尝试以下操作protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
DataRowView drv = e.Row.DataItem as DataRowView;
if (Convert.ToDateTime(drv["Created_Date"]).ToString("dd-MM-yyyy") == "01-01-1900" || (drv["Created_Date"].ToString().Equals(DBNull.Value))) //Check for this date
{
e.Row.Cells[11].Text = "test";
}
}
}
我仍然收到对象无法从DBNull转换为其他类型。
答案 0 :(得分:1)
你必须使用
string.IsNullOrEmpty(drv["Created_Date"].ToString())
但是,您应该在if语句中切换第一个和第二个值。您正在检查Created_Date
是否null
投射后。因此,如果它是null
,您的代码仍会抛出错误。所以最好做这样的事情
if (string.IsNullOrEmpty(drv["Created_Date"].ToString()) || Convert.ToDateTime(drv["Created_Date"]) == new DateTime(1900, 1, 1))