0

如何在 ASp.Net Mvc3 中使用 Razor 从 IDictionary 创建一个下拉列表?我=正在尝试以下代码但没有成功。

 public IDictionary<string, string> CandidatesList = new Dictionary<string, string>();


    Html.DropDownListFor(modal => modal.CandidatesList, new SelectList(Model.CandidatesList, "Value", "Key"))
4

1 回答 1

1

不要将下拉列表绑定到与第二个参数相同的属性。您必须将其绑定到模型上的原始类型属性:

@Html.DropDownListFor(
    model => model.SelectedCandidateKey, 
    new SelectList(Model.CandidatesList, "Value", "Key")
)

whereSelectedCandidateKey必须是视图模型上的字符串属性,它将保存选定的项目键。

这样想:当您需要 ASP.NET MVC 中的下拉列表时,您必须在视图模型上声明 2 个属性:

  1. 将保存所选值的原始类型属性
  2. IEnumerable<SelectListItem>将保存所有可用值的属性
于 2012-10-08T08:12:41.233 回答