原因:
<form> 標籤解決:
方案一:在 .aspx 檔案頭加入:<%@ Page ValidateRequest="false" %>
方案二:修改 web.config:
<configuration>
<system.web>
<pages validateRequest="false" />
</system.web>
</configuration>
因 validateRequest 預設為 true,設為 false 即可。
原因:SqlDataReader 無資料記錄,但未做記錄判斷處理,回傳空值。
解決:加上判斷:if (reader.Read()) { TextName.Text = reader["FieldName"].ToString(); }
原因:物件為 null 時呼叫方法 (如 ToString()) 會出錯,常見於資料庫欄位值為空,或 GridView 等資料控件。
解決:建議做 NULL 處理。
原因:使用 SqlDataReader 繫結資料後,將 Connection 物件 Close()。
範例錯誤代碼:
public SqlDataReader GetSomething()
{
conn.Open();
SqlDataReader reader = sqlcmd.ExecuteReader(CommandBehavior.CloseConnection);
conn.Close(); // 錯誤發生處
return reader;
}
解決:若使用此方法,需在呼叫函式中關閉 Reader,Connection 才會自動關閉。若使用 SqlDataAdapter 和 DataSet,請移除顯式關閉 Connection 的呼叫,或在 finally 區塊中呼叫。