1. 程式人生 > >asp.net core 操作誤區

asp.net core 操作誤區

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 (var
value 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 操作誤區