【发布时间】:2014-03-19 12:10:21
【问题描述】:
我正在使用 MVC 4(剃须刀)。
我使用的是 dropdownlist 而不是 dropdownlistFor,因为 dropdownlist 可以通过从数据库中检索数据来显示选定的值。所以我需要知道如何通过从下拉列表中选择一个值到动作参数(编辑)来传递值,而不使用模型的下拉列表。有没有办法解决它?我看到 ViewModel 的 VmCarList 为空。
视图模型
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();
}
}
【问题讨论】:
标签: jquery asp.net-mvc asp.net-mvc-4 dropdownlistfor