关于Datalist未将对象引用设置到对象的实例
我datalist中的datakeyfield已经设置好啦结果运行出现了一下问题:未将对象引用设置到对象的实例。说明:执行当前Web请求期间,出现未处理的异常。请检查堆栈...
我datalist中的datakeyfield已经设置好啦结果运行出现了一下问题:
未将对象引用设置到对象的实例。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。
异常详细信息: System.NullReferenceException: 未将对象引用设置到对象的实例。
源错误:
行 96: string book_id = this.DataList1.DataKeys[e.Item.ItemIndex].ToString();
行 97: TextBox count = (TextBox)this.DataList1.Items[e.Item.ItemIndex].FindControl("TextBox2");
行 98: 行 99: Boolean update_result;
行 100: update_result=db.UpdateDataBySql(SqlStr);
在这一大段代码中:系统说我的:SqlStr = "update 购物车表 set 数量='" + count.Text + "' where 图书编号='" +book_id + "' and 会员名='" + Session["UserName"] + "'";
有错!!求高手解决! 展开
未将对象引用设置到对象的实例。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。
异常详细信息: System.NullReferenceException: 未将对象引用设置到对象的实例。
源错误:
行 96: string book_id = this.DataList1.DataKeys[e.Item.ItemIndex].ToString();
行 97: TextBox count = (TextBox)this.DataList1.Items[e.Item.ItemIndex].FindControl("TextBox2");
行 98: 行 99: Boolean update_result;
行 100: update_result=db.UpdateDataBySql(SqlStr);
在这一大段代码中:系统说我的:SqlStr = "update 购物车表 set 数量='" + count.Text + "' where 图书编号='" +book_id + "' and 会员名='" + Session["UserName"] + "'";
有错!!求高手解决! 展开
1个回答
展开全部
1、检查Session["UserName"] 是不是null,如果不为null,在后面加上toString()函数
2、如果还有错,你在SqlStr 处设个断点,看看SqlStr 的值是多少,肯定能看出错哪了
以下是我的建议:
1、数据库对象不要用中文
2、sql语句的参数最好用Parameter的形式传进去,防止注入攻击
3、调用FindControl方法后做强制类型转换时,最好用as关键字,提高运行效率
4、极力避免DataList1、TextBox2的命名方式,养成好习惯!
2、如果还有错,你在SqlStr 处设个断点,看看SqlStr 的值是多少,肯定能看出错哪了
以下是我的建议:
1、数据库对象不要用中文
2、sql语句的参数最好用Parameter的形式传进去,防止注入攻击
3、调用FindControl方法后做强制类型转换时,最好用as关键字,提高运行效率
4、极力避免DataList1、TextBox2的命名方式,养成好习惯!
追问
调用FindControl方法后做强制类型转换时,最好用as关键字,提高运行效率
具体怎样用AS,你写一下代码
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询