2012-09-27 59 views
1

模式接受空MVC文本框不能为空的INT

public int? SizeLength { get; set; } 

查看

<div class="editor-field"> 
    @Html.TextBoxFor(p => p.SizeLength, new { @style = "Width: 75px" }) 
    @Html.ValidationMessageFor(p => p.SizeLength) 
</div> 

问题:

当我离开这个字段为空,我得到“这个领域SizeLength必须是数字。 ”。将字段留空应该在返回的模型中转换为空值。为什么当我的字段类型是可为空的int时,我得到这条消息?

回答

0

尝试EditorFor,而不是TextBoxFor

不知道这是否会工作,因为对象(无论是EditorFor或TextBoxFor)的内容为空字符串,不为空,所以你必须处理与转换问题,也许增加一个默认值。

+0

试过了。同样的问题。 – Jeroen

+0

是的,看我的编辑,值不为空,是一个空字符串,所以你将不得不处理自己的投射 – Diego

+0

看看AllowEmptyStrings数据anotation – Diego