Ответ 1
Используйте Html Attributes Overload. В бритве это будет:
@Html.TextBoxFor(model => model.Year, new { Value = "" })
Я использую сущности Entity Framework (v4). У меня есть объект, называемый свойством Car with a Year типа integer. Свойство Year не допускает NULL. В моем представлении "Создать" у меня есть следующее:
<%= Html.TextBoxFor(model => model.Year) %>
Мне нужно вернуть новый объект Car (из-за других требований) в действие HttpGet Create в CarController.
В настоящее время нулевой символ отображается в текстовом поле Year, потому что свойство Year не позволяет NULL. Я хочу показать пустое текстовое поле в представлении "Создать". Как это сделать?
Используйте Html Attributes Overload. В бритве это будет:
@Html.TextBoxFor(model => model.Year, new { Value = "" })
Попробуйте это вместо:
Html.TextBox("Year", "")
Если вы используете строго типизированный помощник TextAreaFor, то не существует прямого способа установить значение по умолчанию. Смысл строго типизированного помощника заключается в том, что он связывает текстовую область со свойством модели и получает значение оттуда. Если вы хотите значение по умолчанию, то включение в модель позволит добиться этого. Вы также можете просто переключиться на не строго типизированный помощник TextArea. Это дает вам больше гибкости в таких случаях:
@{
var defaultValue= "";
}
@Html.TextArea("Model.Description", defaultValue, new { Value = "added text", @class = "form-control", @placeholder = "Write a description", @rows = 5 })
Попробуйте это, вы пытаетесь добавить в свое поле или хотите изменить существующее поле с помощью пустой TextBoxFor.
Html.TextBoxFor(model => model.Year, Model.Year="")