Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    text
    copied!<p>Ok, I solved it. Proper hacky, but it gets the job done.</p> <p>I'm using the ViewData in my view:</p> <pre><code> &lt;%: Html.DropDownList("bankBranchCountrySelectList", ViewData["bankBranchCountrySelectList"] as SelectList)%&gt; </code></pre> <p>With the following in my controller:</p> <pre><code> public ActionResult Edit(Guid id, int sectionIndex) { IConsultantRegistration consultantRegistration = ConsultantRegistrationRepository.GetConsultantRegistration(id); ViewData["bankBranchCountrySelectList"] = Countries.Select(q =&gt; new SelectListItem() { Text = q.Name, Value = q.Name, Selected = (q.Name.Trim().Equals(consultantRegistration.BankBranchCountry, StringComparison.InvariantCultureIgnoreCase)) }); // bankBranchCountriesSelectList; return View(new ConsultantRegistrationFormViewModel(consultantRegistration,sectionIndex, Countries,Currencies)); } [AcceptVerbs(HttpVerbs.Post)] public ActionResult Edit(Guid id, int sectionIndex, FormCollection formValues) { IConsultantRegistration consultantRegistration = ConsultantRegistrationRepository.GetConsultantRegistration(id); UpdateModel(consultantRegistration); ViewData["bankBranchCountrySelectList"] = Countries.Select(q =&gt; new SelectListItem() { Text = q.Name, Value = q.Name, Selected = (q.Name.Trim().Equals(consultantRegistration.BankBranchCountry, StringComparison.InvariantCultureIgnoreCase)) }); IEnumerable&lt;RuleViolation&gt; ruleViolations = consultantRegistration.GetRuleViolations(sectionIndex); if (ruleViolations.Count() == 0) { // ... } else { ModelState.AddRuleViolations(ruleViolations); return View(new ConsultantRegistrationFormViewModel(consultantRegistration, sectionIndex, Countries, Currencies)); } } </code></pre> <p>Not ideal and breaks clean coding. No idea why it works, but that seems to be what MVC is all about with "convention over configuration".</p>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload