MVC DropDownListFor不选择从模型值 [英] MVC DropDownListFor not selecting value from model
问题描述
我曾经使用过此问题<读href=\"http://stackoverflow.com/questions/11042660/asp-net-mvc-dropdownlistfor-not-selecting-value-from-model\">ASP.NET MVC DropDownListFor不选择从模型和回答的价值,但我不知道解决我的问题。
这是我的看法:
@foreach(在Model.adjusterLanguages VAR adjusterLanguages)
{
&LT; DIV CLASS =主编场行&GT;
@ Html.DropDownListFor(型号=&GT; Model.adjusterLanguages [I] .languageID,
(的SelectList)ViewBag.ForeignLanguages)
@ Html.ValidationMessageFor(型号=&GT; Model.adjusterLanguages [I] .languageID)
&LT; / DIV&GT; &LT; DIV的风格=明确:左;&GT;&LT; / DIV&GT; 我++;
}
我可以证实,该模型数据被填充(从我的控制器):
model.adjusterLanguages = adjLangs;
所以,我怎样才能让它在选择项目时,该模型被发送到视图?
编辑:
生成的HTML如下:
&LT; DIV CLASS =主编场行&GT;
&LT;选择一个id =adjusterLanguages_0__languageIDNAME =adjusterLanguages [0] .languageID&GT;&LT;期权价值=&GT; - 选择---
&LT; /选项&GT;
&LT;期权价值=94c5be88-814e-4719-9784-587eb88aa975&GT; Afrikanns&LT; /选项&GT;
&LT;期权价值=37b7bf71-7f4e-47c2-8b81-652b0d63dbcb&GT;阿尔巴尼亚&LT; /选项&GT;
&LT;期权价值=c94d6d85-0ba2-47d7-932e-2a61feba37b3&GT;阿拉伯语&LT; /选项&GT;
...截断简洁...
&LT; /选择&GT;
&LT;跨度类=现场验证,有效的数据valmsg换=adjusterLanguages [0] .languageID数据valmsg替换=真正的&GT;&LT; / SPAN&GT;
&LT; / DIV&GT;
&LT; DIV的风格=明确:左;&GT;&LT; / DIV&GT;
&LT; DIV CLASS =主编场行&GT;
&LT;选择一个id =adjusterLanguages_1__languageIDNAME =adjusterLanguages [1] .languageID&GT;
&LT;期权价值=&GT; - 选择 - &LT; /选项&GT;
&LT;期权价值=94c5be88-814e-4719-9784-587eb88aa975&GT; Afrikanns&LT; /选项&GT;
&LT;期权价值=37b7bf71-7f4e-47c2-8b81-652b0d63dbcb&GT;阿尔巴尼亚&LT; /选项&GT;
&LT;期权价值=c94d6d85-0ba2-47d7-932e-2a61feba37b3&GT;阿拉伯语&LT; /选项&GT;
...截断简洁...
&LT; /选择&GT;
&LT;跨度类=现场验证,有效的数据valmsg换=adjusterLanguages [1] .languageID数据valmsg替换=真正的&GT;&LT; / SPAN&GT;
&LT; / DIV&GT;
我找到了答案!感谢所有您的帮助。当我改变我的code到下面,它的工作原理。在code简单地指定选择的值:
@ Html.DropDownListFor(
模型=&GT; Model.adjusterLanguages [I] .languageID,
新的SelectList(
ViewBag.ForeignLanguages,值,文本,
@ Model.adjusterLanguages [I] .languageID))
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?
Edit:
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>
I found the answer! Thanks to all for your help. When I change my code to the following, it works. The code simply specifies the selected value:
@Html.DropDownListFor(
model => Model.adjusterLanguages[i].languageID,
new SelectList(
ViewBag.ForeignLanguages, "Value", "Text",
@Model.adjusterLanguages[i].languageID))
这篇关于MVC DropDownListFor不选择从模型值的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!