protected void MyDataGrid1_ItemCreated(object sender, DataGridItemEventArgs e)
{
if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
{
Image Img = (Image)e.Item.Cells[0].FindControl("Zt");
switch (DataBinder.Eval(e.Item.DataItem, "Zt").ToString())
{
case "1":
Img.ImageUrl = "../images/m56.gif";
Img.ToolTip = "已读";
break;
case "2":
Img.ImageUrl = "../images/mail13.gif";
Img.ToolTip = "未读";
break;
}
}
}
我单击了一个页面文件上的按钮后,并没有引发DataGird事件,但为何还要报switch (DataBinder.Eval(e.Item.DataItem, "Zt").ToString())
出错。提示:未将对象引用设置到对象的实例。
{
if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
{
Image Img = (Image)e.Item.Cells[0].FindControl("Zt");
switch (DataBinder.Eval(e.Item.DataItem, "Zt").ToString())
{
case "1":
Img.ImageUrl = "../images/m56.gif";
Img.ToolTip = "已读";
break;
case "2":
Img.ImageUrl = "../images/mail13.gif";
Img.ToolTip = "未读";
break;
}
}
}
我单击了一个页面文件上的按钮后,并没有引发DataGird事件,但为何还要报switch (DataBinder.Eval(e.Item.DataItem, "Zt").ToString())
出错。提示:未将对象引用设置到对象的实例。
用对象之前,先判断对象是否有效,是写程序的一种好习惯。
至于你点按钮时进行了什么操作,怎么引发的这个函数,就只有你自己知道了。
ToString()之前,是不是有值...要是空的话就自然会报错...
建议写一个defautl...