【发布时间】:2016-04-06 16:55:23
【问题描述】:
我正在尝试显示产品库存清单。 我想让用户有一个选项来编辑数量和从这个列表中删除产品的能力。问题是,模型对象在提交操作后消失了。我想保留它,以便以后更新数据库中的库存。
控制器:
public ActionResult EditProducts()
{
//! Pulling DATA from db using DbContext
ProductDAL proDAL = new ProductDAL();
List<Products> pl = proDAL.Products.ToList<Products>();
ProductModel productModel = new ProductModel();
productModel.oneProduct = new Products();
productModel.ProductsCollection = new List<Products>();
productModel.ProductsCollection = pl;
TempData["pM"] = productModel;
return View("EditProducts", TempData["pM"]);
}
public ActionResult SubmitProductsValues(ProductModel productModel)
{
//! Some farther work to do...
return View("EditProducts", TempData["pM"]);
}
我的观点:
@using (Html.BeginForm("SubmitProductsValues", "Admin", FormMethod.Post))
{
<div class="col-xs-12 hclearfix edit">
<div class="col-xs-2 eRow et"><b>Product SKU</b></div>
<div class="col-xs-2 eRow et"><b>Product Name</b></div>
<div class="col-xs-2 eRow et"><b>Product Price</b></div>
<div class="col-xs-2 eRow et"><b>Product Quantity</b></div>
<div class="col-xs-2 eRow et"><b>Product Picture</b></div>
<div class="col-xs-1 eRow et"><b>pId</b></div>
<div class="col-xs-1 eRow et"><b>Remove?</b></div>
@{ int i = 0; }
@foreach (Products obj in Model.ProductsCollection)
{
<div class="col-xs-2 eRow">@Html.Raw(obj.SKU)</div>
<div class="col-xs-2 eRow">@Html.Raw(obj.Name)</div>
<div class="col-xs-2 eRow">@Html.Raw(obj.Price)</div>
<div class="col-xs-2 eRow">@Html.EditorFor(m=>m.ProductsCollection[i].Quantity)</div>
<div class="col-xs-2 eRow">@Html.Raw(obj.PicURL)</div>
<div class="col-xs-1 eRow">@Html.Raw(obj.Id)</div>
<div class="col-xs-1 eRow">@Html.CheckBox("remove")</div>
i++;
}
<div class="col-xs-12 eRow">
<p class="left">
<input type="submit" id="btnSubmit" value="Save Changes" />
</p>
<p class="alert-danger right">
@Html.ValidationSummary()
</p>
</div>
</div>
顺便说一句,只有这个原始:@Html.EditorFor 保留返回数据的值。 但我想避免将@Html.EditorFor 用于其他字段,而 保留这些字段数据。
非常感谢您的帮助(:
【问题讨论】:
-
对不起!我很难理解你的问题。你的预期行为是什么,你得到了什么?
-
是的,但是您对此有何期待?表单的整个模型?
-
期望将模型数据传递给“SubmitProductsValues”。我得到的是一个空对象,除了数量。
-
顺便说一句,忽略“@Html.CheckBox("remove")”字段。这不是模型的一部分。 (:
标签: asp.net-mvc razor razor-2