2012-09-27 61 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