我有一個強類型的視圖與以下模型。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
這沒有奏效.. –