public void OnActionExecuting(ActionExecutingContext filterContext)
{
if (!filterContext.Controller.TempData.ContainsKey(TempDataKey))
return;
var preservedModelState = (ModelStateDictionary)filterContext.Controller.TempData[TempDataKey];
var modelState = filterContext.Controller.ViewData.ModelState;
foreach (var pair in preservedModelState) {
modelState.Add(pair.Key, pair.Value);
}
}