如何隐藏模型中的默认值从表单中显示?

时间:2013-04-25 18:54:04

标签: c# asp.net-mvc asp.net-mvc-4 entity-framework-4

在我的剃刀形式中,我有这个:

 @Html.TextBoxFor(vm => vm.User.TotalSales)

由于User对象不为null,因此TotalSales的值默认为0,并显示在表单中。

是否有办法使用内置帮助程序将其清空,或者我是否必须通过javascript或其他方式执行此操作?

我担心如果我必须通过javascript执行此操作,当用户发布表单并且存在错误时,我的javascript将会再次擦除该文本框。

3 个答案:

答案 0 :(得分:1)

在我的应用程序中,我将属性设置为可空,并使用RequiredAttribute标记它们。

答案 1 :(得分:0)

您可以在输出文本框之前进行检查:

@if (vm.User.TotalSales != 0)
{
    Html.TextBoxFor(vm => vm.User.TotalSales)
}
else{
    Html.TextBoxFor(vm => vm.User.TotalSales.Age, new { @Value = "" }) 
}

答案 2 :(得分:0)

使用具有必需属性的模型验证。这样的事情。

[Required]
 public int age{ get; set; }