我有一个强类型的视图与以下模型。MVC4模型绑定 - 通过自定义视图模型和值从视图到控制器
public class ProductViewModel
{
public Product Product { get; set; }
public List<ProductOptionWithValues> ProductOptionsWithValues { get; set; }
}
public class ProductOptionWithValues
{
public ProductOption ProductOption;
public List<AllowedOptionValue> AllowedOptionValues;
}
我使用此模型填充表单,用户可以在其中选择产品所需的选项。 这是视图。
@model AsoRock.Entities.ViewModels.ProductViewModel
@{
ViewBag.Title = "Details";
}
@using (Html.BeginForm(new { ReturnUrl = ViewBag.ReturnUrl }))
{
@Html.AntiForgeryToken()
@Html.ValidationSummary(true)
<h3>
@Html.DisplayFor(model => model.Product.ProductName)
----> @Html.DisplayFor(model => model.Product.Price)
</h3>
<br/>
foreach (var item in Model.ProductOptionsWithValues)
{
<b>@Html.DisplayFor(modelItem => item.ProductOption.Option.OptionName)</b>
<br/>
@Html.DropDownListFor(m => m.ProductOptionsWithValues,
new SelectList(item.AllowedOptionValues,
"Id", "DisplayString",
item.AllowedOptionValues.First().Id))
<br/>
}
<input type="submit" value="Add to cart" />
}
在我的控制器中,我试图将模型返回。当我在控制器中设置一个断点时,它会触发它,但产品视图模型是空的,任何想法如何让视图中选定的值返回到我的控制器?
[HttpPost]
public ActionResult Details(ProductViewModel ProductViewModel)
{
return View();
//return View();
}
return查看模型 – Tim
将您的模型名称更改为'public ActionResult Details(ProductViewModel model)'并检查。 – Jaimin
这没有奏效.. –