Visual Studio 2005(c#)项目调试问题解决方案集锦

本文汇总了Visual Studio 2005使用C#开发时遇到的调试问题,包括潜在危险的Request.Form值处理、数据读取错误、空值调用方法异常、索引超出范围、数据库连接问题、日期时间溢出、自动化操作错误等,并提供了相应的解决方案。
摘要由CSDN通过智能技术生成

1、检测到有潜在危险的Request.Form值

原因:

(1)在提交数据的页面或webconfig中没有对validateRequest的属性进行正确的设置;

(2)HTML里面写了两个

引起。

解决:

方案一:在.aspx文件头中加入这句:

<%@ Page validateRequest="false" %>

方案二:修改web.config文件:

<configuration>

<system.web>

<pages validateRequest="false" />

</system.web>

</configuration>

因为validateRequest默认值为true。只要设为false即可。

如果设置EnableViewState="False" 和EnableViewStateMac = "False" ,那么客户端就可以篡改viewstate后回发给服务器,而服务器不能识别viewstate已经被篡改了,从而导致安全问题。

如果设置(asp.net 默认的设置)EnableViewState="true" 和EnableViewStateMac = "true",则服务端就可以识别篡改后的viewstate,一经识别viewstate被篡改,服务器可以关闭相应的操作。

2、“在没有任何数据时进行无效的读取尝试”解决办法

原因:

所返回的sqldatareader无数据记录,但没有作记录判断力处理。返回的是空值。加上判断即可:

if (reader.read()) { TextName.Text = reader["FieldName"].ToString(); }

3、数据为空。不能对空值调用此方法或属性。

原因:

若对象是null,那么调用对象的方法例如ToString()肯定出错一般是数据库字段的值为空。在grideview等数据控件常出现。

解决:因此建议作NULL处理。

4、阅读器关闭时,FieldCount 的尝试无效

原因:

使用了SqlDataReader来绑定数据后,将connection对象作了Close()处理。

类似:

public SqlDataReader   GetSomething()

{  

conn.open();

SqlDataReader   reader =

sqlcmd.ExcecutReader(CommandBehavior.CloseConnection));

conn.close();// occur error   here  

return   reader;  

}

在绑定的时候调用了这个方法来指定数据源。如果使用这个

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值