1

任何人都可以帮助解决这个问题,我如何根据文本而不是值显示选定的选项。

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

<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。

谢谢

4

1 回答 1

0

请试试:

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

编辑答案:

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

于 2013-06-28T22:16:30.377 回答