索引超出范围。必须为非负值并小于集合大小。
参数名: index protected void dlstShiShi_ItemCommand(object source, DataListCommandEventArgs e)
{
int id = Convert.ToInt32(dlstShiShi.DataKeys[e.Item.ItemIndex].ToString());
Response.Write("<script language=javascript>window.open('NewsDetail.aspx?id=" + id + "','','_blank')</script>");
}
参数名: index protected void dlstShiShi_ItemCommand(object source, DataListCommandEventArgs e)
{
int id = Convert.ToInt32(dlstShiShi.DataKeys[e.Item.ItemIndex].ToString());
Response.Write("<script language=javascript>window.open('NewsDetail.aspx?id=" + id + "','','_blank')</script>");
}
if(e.Item.ItemIndex>=0)
{
int id = Convert.ToInt32(dlstShiShi.DataKeys[e.Item.ItemIndex].ToString());
Response.Write("<script language=javascript>window.open('NewsDetail.aspx?id=" + id + "','','_blank')</script>");
}
而 e.Item.ItemIndex 不一定小于1 。这个代码错得很离谱,应该是dlstShiShi.DataKeys["字段名称"].ToString();
类型转换,最好加上try catch
断点看看dlstShiShi.DataKeys的count 或是看e.Item.ItemIndex值