RedirectToAction () против View () и тернарных операторов?

При принятии решения о том, какой 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, мне не нужно убедитесь, что Модель действительна. Мне все еще интересно узнать ответ на вопрос, может ли кто-нибудь помочь.

6
задан Derrick W 28 January 2011 в 14:30
поделиться