Im работает с MVC 4 (бритва).как передать выбранное значение (dropdownlist) в параметр контроллера?
Я использую dropdownlist вместо dropdownlistFor, потому что выпадающий список может отображать выбранное значение, получая данные из базы данных. Поэтому мне нужно знать, как передать значение, выбирая значение из раскрывающегося списка в параметр «Действие» («Изменить») без использования выпадающего списка для модели. Есть ли способ решить эту проблему? Я вижу, что VmCarList из ViewModel имеет значение null.
ViewModels
public IEnumerable<Cars> VmCarList { get; set; }
public CarData VmCarData { get; set; }
Контроллер
[HttpGet]
public ActionResult Edit(int id)
{
_viewModels.VmCarList = Repository.LoadAllCarNames();
string selectedCar = (from car in _viewModels.CarList
where car.carId == id
select car.Name).First();
ViewBag.CarNames = new SelectList(_viewModels.CarList, "CarName", "CarName", selectedCar);
return View(_viewModels);
}
Посмотреть
@model CarProgram.Models.ViewModels
@Html.DropDownList("CarList", (SelectList)ViewBag.CarNames)
Контроллер
[HttpPost]
public ActionResult Edit(int id, ViewModels data)
{
try
{
if (ModelState.IsValid)
{
var car = new CarData();
UpdateModel(car);
bool result = Repository.UpdateCar(car);
}
return RedirectToAction("Index");
}
catch
{
return View();
}
}
Я добавил параметр CarList к параметру. Оно работает! Ничего себе это так просто. Огромное спасибо!!! – user2857908