SuicideSheep
SuicideSheep

Reputation: 5550

Update the selected dropdownlist value base on value from another linq query

I use the following code to get the LOV for dropdownlist and setting a selected value as well:

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

Now that I have a dropdownlist in my ViewData, I want to update the selected value of this ViewData["dropDown_Color"] base on the following query

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

The value to be updated can be access by userPref.color. May I know how to achieve my objective?

Upvotes: 0

Views: 752

Answers (2)

Jatin patil
Jatin patil

Reputation: 4288

You can achieve it as follows:

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

Upvotes: 1

BonDaviD
BonDaviD

Reputation: 971

Use this

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

            });

Upvotes: 2

Related Questions