Я создаю приложение, в котором пользователи заполняют форму, где настройка некоторых свойств не является обязательной. Это включает в себя флажки и переключатели.
Итак, у меня есть что-то подобное в моей модели:
public class MyModel {
public bool boolvalue;
public MyTwoValuedType mytypevalue;
}
, и я имею в виду:
@model MyModel
<form method="post">
@Html.CheckBoxFor(m => m.boolvalue)
@Html.RadioButtonFor(m => m.mytypevalue, mytypevalue.Value1)
@Html.RadioButtonFor(m => m.mytypevalue, mytypevalue.Value2)
</form>
Когда я инициализирую представление, я посылаю пустую модель через return View();
в контроллере, и переключатели не имеют значения (переключатель не отмечен), а флажок не установлен (поэтому его значение равно false). Тем не менее, я хотел бы использовать обнуляемые типы, такие как (bool?
и MyTwoValuedType?
), один раз, когда я хочу, чтобы, если отправка формы (в представлении) была сделана без пользователя, изменили значение флажков и переключатели, они не получают значение по умолчанию. Даже если при отправке формы произошла ошибка, повторное появление формы (поскольку она не проходит проверку) имеет значения в флажках и переключателях, которые не были установлены пользователем…
Следует ли использовать Html.DropDownListFor
с обнуляемыми типами вместо флажков и переключателей? Будет ли это иметь хороший результат?