string _fileID = DataList1.DataKeys[DataList1.SelectedIndex].ToString();这个那里错了啊?
2个回答
展开全部
情况1:DataList1没有选中项,一般情况下DataList1. SelectedIndex会返回-1,而在一般情况下,小于0的数都不会作为数组或者数据控件的属性下标值的。
你这里应该爆出的是一个IndexOutOfRangeException的异常。
情况2:DataList1.DataKeys[DataList1.SelectedIndex]返回了一个null,会导致NullReferenceException。
你这里应该爆出的是一个IndexOutOfRangeException的异常。
情况2:DataList1.DataKeys[DataList1.SelectedIndex]返回了一个null,会导致NullReferenceException。
追问
就是出现了情况1怎么办啊,返回值就是-1!!!!
追答
出现-1,表示你的DataList1没有选中任何项。
1)如果是winform,先判断是否有选中项,在执行对应代码
2)如果是asp.net,检查该控件的视图状态是否被更改过。一般是在页面回调提交后,没有判定IsPostBack属性而导致数据绑定控件中的数据被重新绑定,从而失去选中项的在视图状态中的值。首先确认这点,然后判断是否有选中项,在执行对应代码
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询