У меня есть модель просмотра, как показано ниже:
public class WhItemForm
{
public virtual WhItem WhItem { get; set; }
public virtual WhItemStock WhItemStock { get; set; }
}
И в моем контроллере я использую ViewBag для заполнения списка выбора, как показано ниже:
public ActionResult Create()
{
ViewBag.WhBrandId = new SelectList(db.WhBrand, "Id", "Name");
ViewBag.WhStockCardId = new SelectList(db.WhStockCard, "Id", "Name");
ViewBag.WhLocationId = new SelectList(db.WhLocation, "Id", "Name");
return View();
}
У меня есть свойство BrandID в моей модели WHITEM, вот моя модель WHITEM.
public class WhItem
{
public int Id { get; set; }
public int WhBrandId { get; set; }
public virtual WhBrand WhBrand { get; set; }
}
Когда я публикую данные из представления, я не могу установить WhBrandID, мое представление показано ниже:
<div class="form-group">
@Html.LabelFor(model => model.WhItem.WhBrandId, "WhBrandId", new { @class = "control-label col-md-2" })
<div class="col-md-10">
@Html.DropDownList("WhBrandId", String.Empty)
@Html.ValidationMessageFor(model => model.WhItem.WhBrandId)
</div>
</div>
Я знаю, мне нужно передать это значение как WhItem.WhBrandId, так как я использую модель представления в своем представлении. Я могу сделать это для @html.TextBoxFor, но как я могу исправить свой раскрывающийся список, чтобы передать его значение как WhItem.WhBrandId контроллеру.
С уважением
DropDownListFor
? Вот так@Html.DropDownListFor(model => model.WhItem.WhBrandId, ViewBag.WhBrandId)
? - person   schedule 24.04.2014SelectList
, то есть(SelectList)ViewBag.WhBrandId
? - person   schedule 24.04.2014