MVC @ Html.TextBoxFor(model => model.SomeNotNullableType)插入默认值

时间:2011-11-01 19:45:26

标签: asp.net-mvc-3

MVC @Html.TextBoxFor(model => model.SomeNotNullableType)使用此帮助程序时,如果我的数据库中的类型不可为空,则视图最终会在文本框中显示默认值。特别是在我的情况下,该字段采用整数,并在字段中设置默认值为0.

我知道我可以使用Javascript或setting the default value in html删除错误的0,但我希望有更'正确'的方法。我可以在我的模型中指定我不希望将默认视图放入文本框中(您不能将其设置为null,因为它不可为空)。坚持使用真实的模型方法,我想在模型/控制器中修复它,而不是在视图中。

2 个答案:

答案 0 :(得分:3)

可能为该模型类添加一个具有可空int属性的视图模型(以及该类的所有其他属性),然后使用数据注释使其成为必填字段将满足您正在寻找的目的。

然后您只需要将viewmodel回滚到控制器中的数据持久性类中。

答案 1 :(得分:0)

您可以为创建文本框的int类型创建自定义编辑器(部分视图),并且可以将值设置为默认值。