ASP MVC DropDownListFor将选定值设置为字典值

时间:2015-06-02 21:28:52

标签: c# asp.net-mvc

我的标记中有一个DropDownListFor:

@Html.DropDownListFor(
    m => m.MyDictionary[DictionaryKey],
    Model.MySelectList as SelectList);

我的词典是我视图模型中的一个属性:

public Dictionary<KeyTypes, string> MyDictionary { get; set; } 

MySelectList是一个值列表,1到5。

在我的控制器中,在我返回视图之前,我设置了字典值:

_MyViewModel.MyDictionary[DictionaryKey] = "3"

当页面加载时,所选的值为&#34; 1&#34;而不是&#34; 3&#34;。 但是,如果我将字典更改为视图模型中的string和标记,则下拉列表中有&#34; 3&#34;在页面加载时选择。

如何将下拉列表绑定到字典值而不是字符串?

更新

我用自己的动态填充模型制作了局部视图。我的模型包含以下属性:

public string SelectedValue { get; set; }
public MyEnum EnumValue { get; set; }
public SelectList ValueRange { get; set; }

我的部分视图输入到此模型,并包含DropDownListFor:

@Html.DropDownListFor(
    m => m.SelectedValue ,
    Model.ValueRange as SelectList)

这似乎适用于我需要的东西。来自webforms,我不习惯那么多分手,但这开始变得更有意义了。希望这有助于其他人:)。

0 个答案:

没有答案