簡體   English   中英

MVC保存空字符串默認值null

[英]MVC save empty string default value null

我的模型來自一個SQL Server數據庫,在該數據庫中,我不允許字段包含NULL 在我的MVC主頁中編輯一行時,我得到了預期的結果:

無法將值NULL插入表'PrenSQL.dbo.adress'的列'husnr'中; 列不允許為空。 更新失敗。

所以我用谷歌搜索並找到並將其添加到所有字符串值。

[DisplayFormat(ConvertEmptyStringToNull = false)]

現在,對於我的某些領域,它似乎起作用,但對於其他領域卻不起作用。

在我的Edit GET請求中,空白字段確實為空。 但是在POST中,有些為空“”,有些為null

...
[DisplayFormat(ConvertEmptyStringToNull = false)]
public string Husnr { get; set; }
[DisplayFormat(ConvertEmptyStringToNull = false)]
public string Husbokstav { get; set; }
[DisplayFormat(ConvertEmptyStringToNull = false)]
public string Etage { get; set; }
...

POST編輯信息

所以,我發現這個在這里,但#1登上了相同的字段相同的錯誤。

我的問題是,如何將這些空字段作為空字符串發送到POST?

編輯:當我創建一個新的地址(在這種情況下)時,它將把字段退回為空。

嘗試將所有String.Empty用作默認值,而不是null值。 就像在文章中使用默認值對模型的注釋屬性

注意,如果將屬性標記為[Required],將無法插入以空字符串作為值的記錄。

編輯

當我創建一個新的地址(在這種情況下)時,它將把字段退回為空。

您必須在當前表單上將屬性添加為隱藏字段。 只有這樣,值才能通過POST發送回去。

為所有數據庫varchar字段(例如'-')設置默認值,這樣,只要不傳遞任何內容,插入就不會失敗,因為字符串將采用默認值。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM