I have read through this question ASP.NET MVC DropDownListFor not selecting value from model and answer but I don't know the solution to my problem.
This is my view:
@foreach (var adjusterLanguages in Model.adjusterLanguages)
{
<div class="editor-field row">
@Html.DropDownListFor(model => Model.adjusterLanguages[i].languageID,
(SelectList)ViewBag.ForeignLanguages)
@Html.ValidationMessageFor(model =>Model.adjusterLanguages[i].languageID)
</div>
<div style="clear: left;"></div>
i++;
}
I can confirm that the model data is being populated (from my controller):
model.adjusterLanguages = adjLangs;
So, how can I make it select the items when the model gets sent to the view?
The generated html is as follows:
<div class="editor-field row">
<select id="adjusterLanguages_0__languageID" name="adjusterLanguages[0].languageID"><option value="">--Select--
</option>
<option value="94c5be88-814e-4719-9784-587eb88aa975">Afrikanns</option>
<option value="37b7bf71-7f4e-47c2-8b81-652b0d63dbcb">Albanian</option>
<option value="c94d6d85-0ba2-47d7-932e-2a61feba37b3">Arabic</option>
<!-- ... truncated for brevity ... -->
</select>
<span class="field-validation-valid" data-valmsg-for="adjusterLanguages[0].languageID" data-valmsg-replace="true"></span>
</div>
<div style="clear: left;"></div>
<div class="editor-field row">
<select id="adjusterLanguages_1__languageID" name="adjusterLanguages[1].languageID">
<option value="">--Select--</option>
<option value="94c5be88-814e-4719-9784-587eb88aa975">Afrikanns</option>
<option value="37b7bf71-7f4e-47c2-8b81-652b0d63dbcb">Albanian</option>
<option value="c94d6d85-0ba2-47d7-932e-2a61feba37b3">Arabic</option>
<!-- ... truncated for brevity ... -->
</select>
<span class="field-validation-valid" data-valmsg-for="adjusterLanguages[1].languageID" data-valmsg-replace="true"></span>
</div>
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…