visualstdio问题调试.docVIP

  • 5
  • 0
  • 约3.92千字
  • 约 7页
  • 2016-12-29 发布于重庆
  • 举报
ZDNetChina中文社区 ? .Net技术 ? Visual Studio 2005(c#)项目调试问题解决方案集锦 2007-11-6 09:52 AM builder0 Visual Studio 2005(c#)项目调试问题解决方案集锦 [b]1、检测到有潜在危险的Request.Form值[/b]原因: (1)在提交数据的页面或webconfig中没有对validateRequest的属性进行正确的设置; (2)HTML里面写了两个 引起。 解决: 方案一:在.aspx文件头中加入这句: [table=400][tr][td]%@ Page validateRequest=false??%[/td][/tr][/table]方案二:修改web.config文件: [table=400][tr][td]configuration system.web pages validateRequest=false / /system.web /configuration[/td][/tr][/table]因为validateRequest默认值为true。只要设为false即可。 如果设置EnableViewState=False 和EnableViewStateMac = False ,那么客户端就可以篡改viewstate后回发给服务器,而服务器不能识别viewstate已经被篡改了,从而导致安全问题。 如果设置( 默认的设置)EnableViewState=true 和EnableViewStateMac = true,则服务端就可以识别篡改后的viewstate,一经识别viewstate被篡改,服务器可以关闭相应的操作。 [b]2、“在没有任何数据时进行无效的读取尝试”解决办法[/b] 原因: 所返回的sqldatareader无数据记录,但没有作记录判断力处理。返回的是空值。加上判断即可: [table=400][tr][td]if (reader.read()) { TextName.Text = reader[FieldName].ToString(); }[/td][/tr][/table][b]3、数据为空。不能对空值调用此方法或属性。[/b] 原因: 若对象是null,那么调用对象的方法例如ToString()肯定出错一般是数据库字段的值为空。在grideview等数据控件常出现。 解决:因此建议作NULL处理。 [b]4、阅读器关闭时,FieldCount 的尝试无效[/b] 原因: 使用了SqlDataReader来绑定数据后,将connection对象作了Close()处理。 类似: [table=400][tr][td]public SqlDataReader? ?GetSomething() {? ? conn.open();?? SqlDataReader? ?reader = sqlcmd.ExcecutReader(CommandBehavior.CloseConnection));?? conn.close();// occur error? ?here? ? return? ?reader;? ? }[/td][/tr][/table]在绑定的时候调用了这个方法来指定数据源。如果使用这个方法则需要在调用函数中关闭Reader这样conn就可以自动关闭。 如果是使用的是SqlDataAdapter和DataSet那么请去掉显式关闭conn的调用。或者在finally中调用之。 [b]5、未能映射路径[/b] 原因:可能是在webconfig中的路径配置不正确所致。 [table=400][tr][td]add key=FCKeditor:BasePath value=~/admin/fckeditor// add key=FCKeditor:UserFilesPath value=/UserFiles/ /[/td][/tr][/table][b]6、Unreachable code detected[/b] 原因: 一般是在异常处理理或返回值时使用了 throw 或return ,可能是其位置放在前面,造成后面的代码执行到了。 解决: 把相关的异常抛出处理的语句(throw)或return 的语句放到代理执行的最后一行。 2007-11-6 09:52 AM builder0 [b]7、索引超出范围。必须为非负值并小于集合大小。[/b] 原因: (1)没有设置DATAKEYFIELD设为数据库中相对应的唯一字段(一般是主键); (2)DataGrid1.Columns e.Item.Cells 解决: (1)设置datakeyfield; (2)加入判断语句d

文档评论(0)

1亿VIP精品文档

相关文档