“字段<>必须是数字”,但我的字段是可选的

时间:2013-08-12 03:28:52

标签: asp.net-mvc-4 razor

我将ASP.NET MVC4用于新应用。我对它很陌生,并且正在努力做一些应该很容易的事情,但不能让它发挥作用。

我的数据库中有int?字段。我的EF代码第一个模型有这个:

public int? Effort { get; set; }

以上行也在我的viewmodel中。这是在视图中:

<div class="editor-label">
    @Html.LabelFor(model => model.Effort)
</div>
<div class="editor-field">
    @Html.EditorFor(model => model.Effort, new { @class="wide100" })
    @Html.ValidationMessageFor(model => model.Effort)    
</div>

当我尝试保存记录时没有任何输入为Effort,我收到此错误:

  

字段Ef​​fort必须是数字。

为什么?我的字段是可选的。

如果我使用字母字符,则显示相同的错误,但这是预期的。

1 个答案:

答案 0 :(得分:0)

尝试TextBoxFor

<div class="editor-label">
    @Html.LabelFor(model => model.Effort)
</div>
<div class="editor-field">
    @Html.TextBoxFor(model => model.Effort, new { @class="wide100" })
    @Html.ValidationMessageFor(model => model.Effort)    
</div>