MVC下拉列表选择文本

时间:2013-06-28 21:51:21

标签: asp.net-mvc asp.net-mvc-4 razor

任何人都可以帮助解决此问题,如何根据文本而不是值显示所选选项。

我尝试了很多方法,但似乎无法使其工作,我最接近显示文本,但值是空的。

<option value="">Spain Euro</option>

 @Html.DropDownListFor(x => x.DisplayCurrenciesTo, Model.DisplayCurrenciesTo,Model.DisplayCurrenciesTo.First(c =>c.Text == "Spain  Euro").Text)

也尝试了

@Html.DropDownListFor(x => x.CurrencyFromId, new SelectList(Model.DisplayCurrenciesFrom, "Value", "Text", Model.DisplayCurrenciesFrom.First(c => c.Text == "Spain Euro").Text))

@Html.DropDownListFor(x => x.CurrencyFromId, new SelectList(Model.DisplayCurrenciesFrom, "Value", "Text", Model.DisplayCurrenciesFrom.First(c => c.Text == "Spain Euro").Selected))

以上只是我尝试过的一些方法。

以下是我正在尝试做的事情

<option selected="selected" value="Eur">Spain Euro</option>

我不想为此使用jquery。

由于

1 个答案:

答案 0 :(得分:0)

请尝试:

@Html.DropDownListFor(x => x.CurrencyFromId, new SelectList(Model.DisplayCurrenciesFrom, "Value", "Text", Model.DisplayCurrenciesFrom.First(c => c.Text == "Spain Euro").Value))

编辑答案:

您是否有机会从控制器返回属性CurrencyFromId的空值?使用DropdownListFor时,模型对象中的任何值都将覆盖您在选择列表中指定的值。