ASP.NET / Model - Предотвращение модели из предварительно заполненных полей ввода формы - PullRequest
2 голосов
/ 28 ноября 2011

Когда я передаю модель моему представлению в форме, поля предварительно заполняются значениями по умолчанию, особенно если свойство модели имеет тип данных int, есть ли способ предотвратить это?

ДляПример:

Модель:

public class MyModel {
    [Key]
    public int MyKey { get; set; }
    public int MyInt { get; set; }
    public string MyString { get; set; }
}

Контроллер:

public class MyController : Controller {
    public ActionResult MyAction(int id) {
        return View(context.MyModel.Single(x=>x.MyKey == id));
    }
}

Представление:

@model MyNamespace.MyModel

@using(Html.BeginForm())
{
    @Html.HiddenFor(x=>x.MyKey)
    @Html.EditorFor(x=>x.MyInt)
    @Html.EditorFor(x=>x.MyString)
    <input type="submit" value="Submit />
}

В представлении поле ввода для MyIntбудет предварительно заполнен 0, тогда как вход MyString будет пустым.Я хочу, чтобы MyInt тоже был пустым.

Редактировать:

Чтобы уточнить, я просто хочу, чтобы поле ввода было пустым при загрузке страницы и не содержало значение по умолчанию 0

1 Ответ

4 голосов
/ 28 ноября 2011

Используйте int? вместо int, что позволяет хранить пустые значения во входных данных.

PS Здесь связан вопрос, но с типом DateTime: Установка значений по умолчанию для моделив MVC3

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...