根据另一个linq查询的值更新选定的下拉列表值

时间:2013-08-28 10:36:34

标签: c# asp.net-mvc linq

我使用以下代码获取下拉列表的LOV并设置选定的值:

ViewData["dropDown_Color"] = correspondingDropDownValue
                                .Select(j => 
                                    new SelectListItem { 
                                            Text = j.ListOfValue, 
                                            Value = j.ListOfValue, 
                                            Selected = j.ListOfValue 
                                                            == x.DefaultValue 
                                            })
                                .ToList();

现在我的ViewData中有一个下拉列表,我想根据以下查询更新此ViewData["dropDown_Color"]的所选值

var userPref = from m in db.UserColorPref
               where m.UserID.Equals(userSessionID)
               select m;

要更新的值可以由userPref.color访问。我可以知道如何实现我的目标吗?

2 个答案:

答案 0 :(得分:2)

使用此

 List<SelectListItem> selectlist = ViewData["dropDown_Color"] as List<SelectListItem>;
            selectlist.ForEach(x =>
            {
                x.Selected = x.Value == userPref.color;

            });

答案 1 :(得分:1)

您可以按如下方式实现:

ViewData["dropDown_Color"] = new SelectList(YourSelectList, "Value", "Text", selectedValue);