C# html帮助程序中的可空枚举

C# html帮助程序中的可空枚举,c#,html-helper,nullable,C#,Html Helper,Nullable,我有一个视图模型,其中包含可为null类型的枚举,如下所示: public StudyLevel? studyLevel { get; set; } 我已经制作了自定义html帮助程序来显示dropdownlist,以便将枚举呈现到视图中,可以为空的大小写是使用 <option value="null">No value</option> 您能为我提供一些方法来帮助我处理视图中的可空类型吗?我可能错了,但我非常确定可空枚举和MVC默认模型绑定器存在一些限制。我建议使用

我有一个视图模型,其中包含可为null类型的枚举,如下所示:

public StudyLevel? studyLevel { get; set; }
我已经制作了自定义html帮助程序来显示dropdownlist,以便将枚举呈现到视图中,可以为空的大小写是使用

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

您能为我提供一些方法来帮助我处理视图中的可空类型吗?

我可能错了,但我非常确定可空枚举和MVC默认模型绑定器存在一些限制。我建议使用表示“无价值”的状态,例如

StudyLevel.None

这样,您就不需要检查
null
等。

如果您将html帮助程序更改为这样显示null值,该怎么办

<option>No value</option>
<option value="">No value</option>
更多信息请点击此处:


奇怪的是,它将我的视图模型正确地绑定为null值,但模型状态给了我错误:值“No value”对studyLevel无效。但是,我正在使用jquery提交表单,因此我想我只需从列表中删除没有值的选项即可serialisation@FabienPiron:我刚刚编辑了我的答案,并加入了一个备选答案您问题的解决方案最终解决方案是显示选项value=“”,感谢您的帮助;)
<option value="">No value</option>
@Html.EnumDropDownList<StudyLevel?>("studyLevel", "No value")