我不确定这是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”。