MVC @ Html.TextBoxFor (model => model.SomeNotNullableType) вставка значения по умолчанию - PullRequest
5 голосов
/ 01 ноября 2011

MVC @Html.TextBoxFor(model => model.SomeNotNullableType) При использовании этого помощника, если у меня есть тип, который не обнуляется в базе данных, представление заканчивается значением по умолчанию в текстовом поле.В частности, в моем случае поле принимает целое число, и в нем устанавливается значение по умолчанию, равное 0.

Я знаю, что мог бы удалить ошибочный 0 с помощью Javascript или , установив значение по умолчанию в html , но я надеялся, что есть более «правильный» способ сделать это.Могу ли я указать в своей модели, что я не хочу, чтобы представление по умолчанию было помещено в текстовое поле (вы не можете установить его в null, так как оно не может иметь значение null).Придерживаясь настоящего подхода к модели, я бы хотел исправить это в модели / контроллере, а не в представлении.

Ответы [ 2 ]

3 голосов
/ 01 ноября 2011

возможно, добавив viewmodel для этого класса модели со свойством nullable int (и все другие свойства для этого класса), а затем используя аннотации данных, чтобы сделать его обязательным полем, будет служить искомой цели.

тогда вам просто нужно будет свернуть модель представления обратно в класс сохраняемости данных в вашем контроллере.

0 голосов
/ 02 ноября 2011

Вы можете создать пользовательский редактор (частичное представление) для типа int, в котором вы создаете текстовое поле, и вы можете установить значение, когда оно является значением по умолчанию.

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