在EF实体的非null属性上使用Html.TextBoxFor显示空文本框

时间:2010-04-24 09:07:41

标签: entity-framework asp.net-mvc-2

我正在使用Entity Framework(v4)实体。我有一个名为Car的实体,其Year属性为integer。 Year属性不允许NULL。我在创建视图中有以下内容:

<%= Html.TextBoxFor(model => model.Year) %>

我需要在CarController中的HttpGet Create操作中返回一个新的Car对象(由于其他要求)。

目前,Year文本框中显示零,因为Year属性不允许NULL。我想在Create视图中显示一个空文本框。我该怎么做?

4 个答案:

答案 0 :(得分:41)

使用Html属性重载。在剃须刀中它将是:

@Html.TextBoxFor(model => model.Year, new { Value = "" })

答案 1 :(得分:1)

请改为尝试:

Html.TextBox("Year", "")

答案 2 :(得分:0)

如果使用强类型TextAreaFor辅助程序,则没有直接的方法来设置默认值。强类型帮助程序的要点是它将文本区域绑定到模型属性,并从那里获取值。如果要使用默认值,则将其放入模型即可。您也可以只切换到非强类型的TextArea帮助器。对于这样的情况,它为您提供了更多的灵活性:

   @{
          var defaultValue= "";
        }
    @Html.TextArea("Model.Description", defaultValue, new { Value = "added text", @class = "form-control", @placeholder = "Write a description", @rows = 5 })

答案 3 :(得分:-1)

尝试这是您尝试追加到您的字段或想要使用空TextBoxFor修改现有字段。

Html.TextBoxFor(model => model.Year, Model.Year="")