public ActionResult TriggeringDynamicChange(TriggeringDynamicChangeViewModel model, string submitType) { if (submitType == "Change") { // Ignore model errors for this submit type ModelState.Clear(); // Change which dynamic form to use based on UseAlternative model.MyDynamicProperty = model.FormToShow == "Bar" ? DynamicBar() : DynamicFoo(); } else if (ModelState.IsValid) { model.Content.AddTitle("You submitted the following"); var hours = model.MyDynamicProperty.Get <int>("Hours"); var provider = model.MyDynamicProperty.Get <IEnumerable <SelectListItem> >("Provider"); var selectedProvider = provider.FirstOrDefault(p => p.Selected); model.Content.AddParagraph("You agreed to work {0} voluntary hours", hours); model.Content.AddParagraph("With {0}", selectedProvider != null ? selectedProvider.Text : "no one"); if (model.FormToShow == "Foo") { var fromDate = model.MyDynamicProperty.Get <DateTime>("FromDate"); var toDate = model.MyDynamicProperty.Get <DateTime>("ToDate"); model.Content.AddParagraph("From {0} to {1}", fromDate, toDate); } } return(View(model)); }
public ActionResult TriggeringDynamicChange() { var model = new TriggeringDynamicChangeViewModel(); model.MyDynamicProperty = DynamicFoo(); return(View(model)); }