1.檢測到有潛在危險的 Request.Form 值
原因:
(1)在提交數據的頁面或webconfig中沒有對validateRequest的屬性進行正確的設置
(2)Html裡面寫了兩個<form>引起
解決:
方案一: 在.ASPx文件頭中加入這句:
方案二: 修改web.config文件:
以下是引用片段:
<configuration>
<system.web>
<pages validateRequest="false" />
</system.web>
</configuration>
因為validateRequest默認值為true。只要設為false即可。
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;
}
在綁定的時候調用了這個方法來指定數據源。如果使用這個方法則需要在調用函數中關閉Re
ader這樣conn就可以自動關閉。
如果是使用的是SqlDataAdapter和DataSet那麼請去掉顯式關閉conn的調用。或者在finally
中調用之。