Подтвердить что ты не робот

Отображать пустое текстовое поле с использованием Html.TextBoxFor для свойства not-null в объекте EF

Я использую сущности Entity Framework (v4). У меня есть объект, называемый свойством Car with a Year типа integer. Свойство Year не допускает NULL. В моем представлении "Создать" у меня есть следующее:

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

Мне нужно вернуть новый объект Car (из-за других требований) в действие HttpGet Create в CarController.

В настоящее время нулевой символ отображается в текстовом поле Year, потому что свойство Year не позволяет NULL. Я хочу показать пустое текстовое поле в представлении "Создать". Как это сделать?

4b9b3361

Ответ 1

Используйте Html Attributes Overload. В бритве это будет:

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

Ответ 2

Попробуйте это вместо:

Html.TextBox("Year", "")

Ответ 3

Если вы используете строго типизированный помощник TextAreaFor, то не существует прямого способа установить значение по умолчанию. Смысл строго типизированного помощника заключается в том, что он связывает текстовую область со свойством модели и получает значение оттуда. Если вы хотите значение по умолчанию, то включение в модель позволит добиться этого. Вы также можете просто переключиться на не строго типизированный помощник TextArea. Это дает вам больше гибкости в таких случаях:

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

Ответ 4

Попробуйте это, вы пытаетесь добавить в свое поле или хотите изменить существующее поле с помощью пустой TextBoxFor.

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