報錯:該字符串未被識別爲有效的DateTimecss
□ 背景html
前端的搜索條件中包含關於時間的字符串,由jquery ui的datepicker產生時間字符串。
服務端對時間作了一次轉換:DateTime.Parse(Request["時間字段"].ToString())。
搜索的時候沒有選擇點擊datapicker,從而報錯,出錯的點停在了DateTime.Parse(Request["時間字段"].ToString())上。前端
□ 分析jquery
在轉換成DateTime的時候,發生了錯誤。
MSDN上有此類異常的說明:api
當某個實參的格式不符合方法的形參規範時,該方法會引起 FormatException 異常。
例如,在 System 命名空間中定義的許多數據類型都包含一個 Parse 方法,該方法採用字符串參數並將其轉換爲數據類型。 若是所提供的參數的格式沒法轉換,這些方法會引起 FormatException。 若是字符串參數的格式不是可識別的數字格式,Double.Parse將引起FormatException。 ui
□ 解決方法spa
轉換以前,對時間是否爲null或空作一下判斷:code
if (!string.IsNullOrEmpty(Request["時間字段"]))
{
var time = DateTime.Parse(Request["時間字段"].ToString());
}