asp.net core 操作誤區
阿新 • • 發佈:2018-04-07
RR currency empty turn 測試 true ssa ade 相關
更新時提示數據變化錯誤
在更新事件中提示下面錯誤,在網上找了一下,大部分都是說是沖突問題,但是測試時同時只有一個客戶端在進行操作,不應該會有沖突問題,後來發現編輯加載時的ID,和更新提交時的ID不同了,原來是在編輯界面上沒有為ID寫綁定的字段,應該是在提交時發現ID為空,自動給生成了新的ID。
ID為主鍵,使用的自動生成的GUID。
在編輯時主要字段還是不能漏的啊...
Database operation expected to affect 1 row(s) but actually affected 0 row(s). Data may have been modified or deleted since entities were loaded. See http://go.microsoft.com/fwlink/?LinkId=527962 for information on understanding and handling optimistic concurrency exceptions.
關於ModelState.IsValid
model的屬性如果不加驗證相關的特性,ModelState.IsValid會永遠為true;如果加了驗證相關的特性,不滿足驗證規則時,ModelState.IsValid為false.
接收到參數屬性類型與Model定義不符時,ModelState.IsValid也會為false。
可以使用以下代碼查詢具體的錯誤
if (!ModelState.IsValid) { var msg = string.Empty; foreach (varvalue in ModelState.Values) { if (value.Errors.Count > 0) { foreach (var error in value.Errors) { msg = msg + error.ErrorMessage; } } } Console.WriteLine(msg);return Page(); }
asp.net core 操作誤區