asp.net mvc 4 - web api validation messages for one section display before application form is submitted -


i try deal bug on 1 of sections application form developing in order explain issue screenshots below show workflow section:

enter image description here

when first navigate section presented screen chose option dropdownlist , click next.

when click next form values option selected generated below:

enter image description here

the problem comes when change option, when new option form values generated errors previous option being generated shown below:

enter image description here

to explain of logic when next or change button clicked posts actionresult in corresponding applycontroller in actionresult posts option value web api saves data database code below performing task:

[httppost]     [validateantiforgerytoken]     public async task<actionresult> admissionstest(admissionstestviewmodel model, applyservice service, string programmedesc, int? programmeid, formcollection formcollection)     {         guid applicationid = (guid)tempdata["applicationid"];          tempdata["applicationid"] = applicationid;          model.applicationvalidations = (icollection<applicationvalidation>)tempdata["applicationvalidations"];          tempdata["applicationvalidations"] = model.applicationvalidations;          model.applicationprogrammedetails = dependencyresolver.current.getservice<applicationprogrammedetailsviewmodel>();          if (programmeid != null)         {             programme programme = service.getprogramme(model.programmeid);              model.applicationprogrammedetails.programmedesc = programme.programmedesc;         }         else         {             model.applicationprogrammedetails.programmedesc = programmedesc;         }          foreach (var item in formcollection.allkeys)         {             if ((model.admissionstestoptionid == null) && (item.tolowerinvariant().startswith("submitbuttonnext") || (item.tolowerinvariant().startswith("submitbuttonchange"))))             {                 model.applicationid = applicationid;                  model.navbutton = "10";                  await _client.postasjsonasync("api/applicationadmissionstestdetail/updateapplicationadmissionstestdetail", model)                 .continuewith((posttask) => posttask.result.ensuresuccessstatuscode());                  return view("admissionstest", model);             }             if ((model.admissionstestoptionid == 1) && (item.tolowerinvariant().startswith("submitbuttonnext") || (item.tolowerinvariant().startswith("submitbuttonchange"))))             {                 model.applicationid = applicationid;                  model.navbutton = "10";                  await _client.postasjsonasync("api/applicationadmissionstestdetail/updateapplicationadmissionstestdetail", model)                 .continuewith((posttask) => posttask.result.ensuresuccessstatuscode());                  return view("admissionstest", model);             }             if ((model.admissionstestoptionid == 2) && (item.tolowerinvariant().startswith("submitbuttonnext") || (item.tolowerinvariant().startswith("submitbuttonchange"))))             {                 model.applicationid = applicationid;                  model.navbutton = "10";                  await _client.postasjsonasync("api/applicationadmissionstestdetail/updateapplicationadmissionstestdetail", model)                 .continuewith((posttask) => posttask.result.ensuresuccessstatuscode());                  return view("admissionstest", model);             }             if ((model.admissionstestoptionid == 3) && (item.tolowerinvariant().startswith("submitbuttonnext")))             {                 model.applicationid = applicationid;                  await _client.postasjsonasync("api/applicationadmissionstestdetail/updateapplicationadmissionstestdetail", model)                 .continuewith((posttask) => posttask.result.ensuresuccessstatuscode());                  if (model.navbutton == null) { model.navbutton = "11"; }                 return navigatetostage(model.navbutton);             }             if ((model.admissionstestoptionid == 3) && (item.tolowerinvariant().startswith("submitbuttonchange")))             {                 model.applicationid = applicationid;                  model.navbutton = "10";                  await _client.postasjsonasync("api/applicationadmissionstestdetail/updateapplicationadmissionstestdetail", model)                 .continuewith((posttask) => posttask.result.ensuresuccessstatuscode());                  return view("admissionstest", model);             }         }           //save          string dategmattaken = model.dategmattakenday + "/" + model.dategmattakenmonth + "/" + model.dategmattakenyear;          string dategretaken = model.dategretakenday + "/" + model.dategretakenmonth + "/" + model.dategretakenyear;          datetime dateofgmattesttaken;          datetime dateofgretesttaken;          if (datetime.tryparse(dategmattaken, out dateofgmattesttaken))         {             model.gmatdatetaken = dateofgmattesttaken;         }         else         {             model.gmatdatetaken = null;         }          if (datetime.tryparse(dategretaken, out dateofgretesttaken))         {             model.gredatetaken = dateofgretesttaken;         }         else         {             model.gredatetaken = null;         }          model.applicationid = applicationid;          await _client.postasjsonasync("api/applicationadmissionstestdetail/updateapplicationadmissionstestdetail", model)            .continuewith((posttask) => posttask.result.ensuresuccessstatuscode());          //redirect based on submit          if (model.navbutton == null) { model.navbutton = "11"; }         return navigatetostage(model.navbutton);     } 

i have tested actionresult using break points see if might going final submit action far appears staying within actionresult have used fiddler see if submit method on web api being called has return blank.

does have ideas why might happening?

thanks in advance advice.

have modified return value instead of returning return view() use return redirecttoroute() has resolved bug


Comments

Popular posts from this blog

ios - UICollectionView Self Sizing Cells with Auto Layout -

node.js - ldapjs - write after end error -

DOM Manipulation in Wordpress (and elsewhere) using php -