How can I return the result of a different action or move the user to a different action if there is an error in my ModelState without losing my ModelState information?
Use Action Filters (PRG pattern) (as easy as using attributes)
Mentioned here and here.