при принятии решения о том, какой ActionResult следует возвращать из действия контроллера, я решил использовать троичные операторы, а не более длинные if-else. Вот моя проблема ...
этот код работает
return
ModelState.IsValid ?
(ActionResult) RedirectToAction("Edit", new { id = id }) :
View(new EditViewModel(updatedCategory));
но это не
return
ModelState.IsValid ?
RedirectToAction("Edit", new { id = id }) :
View(new EditViewModel(updatedCategory));
Мне бы не пришлось выполнять явное приведение, если бы использовали if-else. Кроме того, RedirectToAction () и View () возвращают производную ActionResult.
Мне нравится краткость этого кода, но это приведение не кажется правильным. Может ли кто-нибудь просветить меня?
Хотя я уверен, что это очевидно, EditViewModel является моделью представления для моего действия Edit, а updatedCategory является объектом EF4. Но я не думаю, что это имеет отношение к проблеме.
хорошо ... Я только что понял, что то, что я делал, не нужно, потому что независимо от того, что я возвращаюсь к действию Edit с updatedCategory, мне не нужно проверять, что Модель действительна Мне все еще интересно узнать ответ на вопрос, может ли кто-нибудь помочь.