簡體   English   中英

html helper 中的可空枚舉

[英]Nullable enum in html helper

我有一個包含可空類型枚舉的視圖模型,如下所示:

public StudyLevel? studyLevel { get; set; }

我制作了自定義 html helper 來顯示一個下拉列表,用於將枚舉渲染到視圖中,可以使用的情況顯示為

<option value="null">No value</option>

問題是,當我提交表單模型狀態給我錯誤:

studylevel cannot be "null" .

你能給我建議任何方法來幫助我處理視圖中的可為空類型嗎?

我可能錯了,但我很確定可空枚舉和 MVC 默認模型綁定器存在一些限制。 我建議有一個代表“沒有價值”的狀態,而不是例如

StudyLevel.None

這樣你就不需要處理檢查null等。

如果你改變你的 html helper 來顯示這樣的 null 值怎么辦?

<option>No value</option>

或者像這樣?

<option value="">No value</option>

編輯:更好的選擇 (IMO) 是創建SelectListItem的集合,然后使用內置的 HTML 幫助程序。 請查看我幾個月前創建的這篇文章,它可能對您有所幫助。 你可以這樣使用它:

@Html.EnumDropDownList<StudyLevel?>("studyLevel", "No value")

更多信息在這里:

ASP.NET MVC:為枚舉創建本地化的 DropDownList

暫無
暫無

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

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