我創建了MVC應用程序數據庫 - 首先使用數據庫生成的ID字段。由於ID由數據庫生成,因此在模型中,我將'StoreGeneratedPattern'屬性設置爲'Identity'。MVC ModelState錯誤「ID字段是必需的」,儘管數據庫生成ID
但是,當我提交'創建'表單時,仍然出現ModelState錯誤「ID字段是必需的」。
我試過重新啓動解決方案,清理它,重新構建它。我知道我以前有過這個問題,所以如果我弄明白了,我會在這裏發佈答案,以便將來我可以找到答案。
我創建了MVC應用程序數據庫 - 首先使用數據庫生成的ID字段。由於ID由數據庫生成,因此在模型中,我將'StoreGeneratedPattern'屬性設置爲'Identity'。MVC ModelState錯誤「ID字段是必需的」,儘管數據庫生成ID
但是,當我提交'創建'表單時,仍然出現ModelState錯誤「ID字段是必需的」。
我試過重新啓動解決方案,清理它,重新構建它。我知道我以前有過這個問題,所以如果我弄明白了,我會在這裏發佈答案,以便將來我可以找到答案。
我在'創建'視圖中包含了一個@Html.HiddenFor(model => model.ID)
。
因此,雖然應用程序會很樂意接受沒有ID,但它不想接受空作爲ID。
我剛剛刪除了@ Html.HiddenFor,它工作。
P.S. '編輯'視圖需要@Html.HiddenFor(model => model.ID)
來記住該ID是什麼。
對於編輯視圖,您需要擁有該ID才能更新相應的行。
如果您刪除@ Html.HiddenFor(model => model.ID)=>每當您嘗試編輯表單時,系統將始終生成新行。
你可以按照下面的代碼,以便重複使用相同的看法兩個創建/編輯
if (model != null)
{
@Html.HiddenFor(model => model.ID)
}
=>當您嘗試創建一個表單 - 模式將是最初空,因此隱藏字段不會被執行。
=>當您嘗試編輯隱藏的字段存儲您的ID。