У меня есть свойство перечислимого, что я использую для заполнения раскрывающегося списка, как часть моей формы, которая выглядит следующим образом:Проверка на нуль в перечислениях собственности
public class MyModel
{
[Required]
[DisplayName("Type of Enum")]
public EnumType? Type { get; set; }
}
public enum EnumType
{
option1 = 1,
option2 = 2,
option3 = 3,
option4 = 4
}
Форма отправляет к другому контроллеру, где Я пытаюсь проверить нуль в перечислимого типа:
public class ResultController : Controller
{
// GET: Result
[AllowAnonymous]
public ActionResult Index(MyModel model)
{
if(!Enum.IsDefined(typeof(MyEnum), model.EnumType))
{
return RedirectToAction("Index", "Home");
}
return View();
}
}
когда я пытаюсь ..../result?Type=5
RedirectToAction
работает, но когда я пытаюсь ..../result?Type=
я получаю ArgumentNullException
.
Примечание: добавление None=0
в Enum не является вариантом для меня, я не хочу, чтобы в раскрывающемся списке ничего не отображалось.
Как я могу проверить значение null в контроллере? Существует ли наилучшая практика в этом отношении?
это должно быть 'HasValue'? Поскольку 'Type' является' nullable' – Prisoner