0

我創建了MVC應用程序數據庫 - 首先使用數據庫生成的ID字段。由於ID由數據庫生成,因此在模型中,我將'StoreGeneratedPattern'屬性設置爲'Identity'。MVC ModelState錯誤「ID字段是必需的」,儘管數據庫生成ID

但是,當我提交'創建'表單時,仍然出現ModelState錯誤「ID字段是必需的」。

我試過重新啓動解決方案,清理它,重新構建它。我知道我以前有過這個問題,所以如果我弄明白了,我會在這裏發佈答案,以便將來我可以找到答案。

回答

0

我在'創建'視圖中包含了一個@Html.HiddenFor(model => model.ID)

因此,雖然應用程序會很樂意接受沒有ID,但它不想接受空作爲ID。

我剛剛刪除了@ Html.HiddenFor,它工作。

P.S. '編輯'視圖需要@Html.HiddenFor(model => model.ID)來記住該ID是什麼。

0

對於編輯視圖,您需要擁有該ID才能更新相應的行。

如果您刪除@ Html.HiddenFor(model => model.ID)=>每當您嘗試編輯表單時,系統將始終生成新行。

你可以按照下面的代碼,以便重複使用相同的看法兩個創建/編輯

if (model != null) 

{ 

    @Html.HiddenFor(model => model.ID) 
} 

=>當您嘗試創建一個表單 - 模式將是最初空,因此隱藏字段不會被執行。

=>當您嘗試編輯隱藏的字段存儲您的ID。

相關問題