我不确定这是DropDownListFor扩展的错误还是什么,但是我们有以下问题:

http://mydomain.com/path/page?myparam=myvalue


在我的视图模型中,我具有以下内容:

public string MyParam { get; set; }
public List<SelectListItem> ParamOptions { get; set; }


当我在视图中执行以下操作时,它无法选择正确的值:

@Html.DropDownListFor(x => x.MyParam, Model.ParamOptions, "Select Value")


但是,当我将视图模型中的参数“ MyParam”更改为“ MyParam2”并更新我的视图以使用MyParam2参数时,它将根据MyParam2的值选择正确的选项。在此之前,当参数名称为MyParam时不会。

还有其他人遇到吗?这是MVC 3的错误还是对我而言是不好的实现?

最佳答案

那提到的网址呢?

http://mydomain.com/path/page?myparam=myvalue

该网址具有一个带有关键字“ myparam”的queryString,因为名称与属性名称相同,并且当该网址被调用时,它将针对“ myparam”添加一个ModelState值。

ModelState [“ myparam”]将为“ myvalue”。

因此,在加载页面时,下拉列表将从下拉列表中选择“ myvalue”。

10-06 09:54