我不确定这是 DropDownListFor 扩展的错误还是什么,但我们有以下内容:
http://mydomain.com/path/page?myparam=myvalue
在我的 View 模型中,我有以下内容:
public string MyParam { get; set; }
public List<SelectListItem> ParamOptions { get; set; }
当我在 View 中执行以下操作时,无法选择正确的值:
@Html.DropDownListFor(x => x.MyParam, Model.ParamOptions, "Select Value")
但是,当我将 View 模型中的参数“MyParam”更改为“MyParam2”并将我的 View 更新为使用 MyParam2 参数时,它将根据 MyParam2 的值选择正确的选项项。以前当参数名称为 MyParam 时不会。
还有其他人遇到过这个吗?这是 MVC 3 的错误还是我的实现不当?
最佳答案
提到的 URL 呢,
http://mydomain.com/path/page?myparam=myvalue
该 url 有一个带有键“myparam”的查询字符串,因为该名称与属性名称相同,并且当调用该 url 时,它将针对“myparam”添加一个 ModelState 值。
ModelState["myparam"] 将为“myvalue”。
因此,当页面加载时,下拉列表将从下拉列表中选择“myvalue”。
关于c# - ASP.NET MVC 3 - 当 URL 参数也存在且名称与 View 模型参数相同时,DropDownListFor 失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9416469/