在 MVC3 中,当使用 DropDownListFor 时,第一个参数是否必须是字符串?我有以下设置:
@Html.DropDownListFor(m => m.MyListItemId, Model.MyListItems,
new Dictionary<string, object>
{
{ "style", "width:120px" },
{ "data-type", "myList" }
})
其中 m.MyId 是我的视图模型上的一个 int。我遇到了一个问题,当我更改下拉列表中的选定项目并检查呈现的 html 时,“selected”属性未设置为新选定的项目。这是一个问题,因为我正在使用 jquery 克隆函数来复制该行,并且我需要将带有新选定项目的列表复制到我的新行中。想法?
更新- 将视图模型上的属性更改为字符串没有区别。这是 mvc dropdownlistfor 的错误吗?我已经阅读了很多关于类似问题的帖子,但似乎找不到在这种情况下有效的解决方案。这就是我在代码中设置列表的方式:
var myListItems = _myRepository.GetAll();
model.MyListItems = new SelectList(myListItems, "Id", "Name", lineItem.myListItemId);
model.MyListItemId = lineItem.myListItemId;
其中 lineItem 被传递到此方法中