2015-11-24 4 views
3

У меня есть выпадающий список в Viewкак установить выбранное значение DropDownList MVC

@Html.DropDownList("GenderAllowed", (SelectList)ViewBag.LocGenederAllowedList, new { @class = "form-control" }) 

и я посылаю список выпадающего меню через ViewBag и через модель Посылает значение, которое нужно выбрать в выпадающем списке ,

Но значение в выпадающем меню не выбрано.

Мой контроллер

[HttpGet] 
    public ActionResult EditVendorLocation(int VendorLocationID) 
    { 
     VendorLocationHandler obj = new VendorLocationHandler(); 
     LocationGrid objLoc = new LocationGrid(); 
     FillGenederAllowed(objLoc); 
     objLoc = obj.GetVendorLocationForAdmin(VendorLocationID); 

     return View(objLoc); 
    } 

Функция для Viewbag

public void FillGenederAllowed(LocationGrid V) 
{ 
    Dictionary<int, string> LocGenederAllowed = EnumHelper.GetGenderStates(); 
    SelectList LocGenederAllowedList = new SelectList(LocGenederAllowed, "key", "value"); 
    ViewBag.LocGenederAllowedList = LocGenederAllowedList; 
} 
+0

Модель представляет собой список значений. Вы установили любой из них как «Selected = true»? –

+0

См. Ниже ссылки http://stackoverflow.com/questions/15881575/get-the-selected-value-of-a-dropdownlist-asp-net-mvc http://stackoverflow.com/questions/27901175/how- to-get-dropdownlist-selectedvalue-in-controller-in-mvc4 –

+0

Возможный дубликат [dropdownlist set selected value в MVC3 Razor] (http://stackoverflow.com/questions/6807256/dropdownlist-set-selected-value-in -mvc3-razor) – niksofteng

ответ

1

SelectListItems вы передаете к DropDownList имеют свойство Selected. В ViewModel установите для этого значения значение true для элемента, который должен быть выбран вначале.

0

Вы можете сделать это в своем действии контроллера, как показано ниже. Надеюсь, поможет.

ViewBag.LocGenederAllowedList = new SelectList(items, "Id", "Name", selectedValue); 

точка Чистая ссылка скрипку: https://dotnetfiddle.net/PFlqei

0

Посмотрите на this класса. Все, что вам нужно сделать, это создать их экземпляры и установить Selected свойство верно для элемента, который вы хотите быть изначально выбран:

public ActionResult YourActionMethod(...) 
{ 
    var selectItems = Repository.SomeDomainModelObjectCollection 
     .Select(x => new SelectListItem { 
     Text = x.SomeProperty, 
     Value = x.SomeOtherProperty, 
     Selected = ShoudBeSelected(x) 
    }); 
    ViewBag.SelectListItems = selectItems; 
    // more code 
    var model = ...; // create your model 
    return View(model); 
} 

Вам нужна эта перегрузка Html.DropDownListFor(...) для того, чтобы использовать this.

0

Вам нужно это в вашем контроллере

ViewBag.LocGenederAllowedList = 
     new SelectList(db.SomeValues, "Value", "Text",selectedValue); 

А на ваш взгляд

  @Html.DropDownList("GenderAllowed", 
     (SelectList)ViewBag.LocGenederAllowedList, new { @class = "form-control" }) 
+0

Это не работает. SelectList LocGenederAllowedList = новый SelectList (LocGenederAllowed, «key», «value», GenderAllow); – user4102564

Смежные вопросы