【发布时间】:2014-03-06 19:27:22
【问题描述】:
我有一个具有以下模型的强类型视图。
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" />
}
在我的控制器中,我试图将模型传回。当我在控制器中设置断点时,它会命中它,但 Product 视图模型是空的,有什么想法可以将视图中选择的值返回到我的控制器中吗?
[HttpPost]
public ActionResult Details(ProductViewModel ProductViewModel)
{
return View();
//return View();
}
【问题讨论】:
-
将您的型号名称更改为
public ActionResult Details(ProductViewModel model)并检查。
标签: c# asp.net-mvc asp.net-mvc-4