public virtual JsonResult NextWizardStep(/*[ModelBinder(typeof(WizardModelBinder))]*/ [Deserialize] WizardViewModel model, FormCollection form) { var state = ViewModelSessionState; model.SetStepIndex(state != null ? state.StepIndex : 0); RemoveValidationRulesFromOtherSteps(model); if (Validate(ModelState, model)) { model.Errors = null; model.NextStep(); try { ProcessToNext(model); } catch (ValidationException valEx) { // Catch custom exceptions so decrease the stepindex model.PreviousStep(); // Return the errors to the client model.Errors = new List <WizardValidationResult>(); model.Errors.Add(new WizardValidationResult { MemberName = string.Empty, Message = valEx.ValidationResult.ErrorMessage }); } } ViewModelSessionState = model; return(Json(model.StepIndex)); }
public virtual JsonResult PreviousWizardStep([ModelBinder(typeof(WizardModelBinder))] WizardViewModel model) { var state = ViewModelSessionState; model.SetStepIndex(state != null ? state.StepIndex : 1); ModelState.Clear(); model.Errors = null; model.PreviousStep(); ProcessToPrevious(model); ViewModelSessionState = model; return(Json(model)); }
public virtual JsonResult PreviousWizardStep(/*[ModelBinder(typeof(WizardModelBinder))]*/ [Deserialize] WizardViewModel model, FormCollection form) { var state = ViewModelSessionState; model.SetStepIndex(state != null ? state.StepIndex : 0); ModelState.Clear(); model.Errors = null; model.CurrentStep.StepModel = this.FormCollectToObj <Type>(form); model.PreviousStep(); ProcessToPrevious(model); ViewModelSessionState = model; return(Json(model.StepIndex)); }