在ASP.net MVC中,我需要在Viewpage中传递一组值,这些值应该被隐藏,我需要保存那些隐藏的字段值。我正在附加模型,控制器和视图页面。
模型
public int[] unit_id { get; set; }
的ViewPage
<td>
@item.UoM_Name
@Html.Hidden("unit_id", new { @Value = item.UoM_Id })
</td>
控制器
public ActionResult Product_Unit(ML_Product_HierarchyModel productmodel)
{
if (ModelState.IsValid)
{
var count = productmodel.currency_id_array.Count();
for (int i = 0; i < count; i++)
{
ML_Product_Unit_Price unit_price = new ML_Product_Unit_Price();
unit_price.Product_Id = productmodel.Product_Id;
unit_price.Unit_Price = productmodel.unit_price_array[i];
unit_price.UoM_Id = productmodel.unit_id[i];
unit_price.Currency_Id = productmodel.currency_id_array[i];
db.ML_Product_Unit_Price.Add(unit_price);
db.SaveChanges();
return RedirectToAction("Index");
}
}
return View();
}
答案 0 :(得分:0)
最好从数组中创建一个逗号分隔的字符串,然后将其保存到隐藏字段。并在发布请求时再将该字符串转换为数组。
答案 1 :(得分:0)
您可以使用HiddenFor将数组保存为HTML格式。
@if (Model.currency_id_array != null)
{
for (int i = 0; i < Model.currency_id_array.Length; i++)
{
@Html.HiddenFor(x => x.currency_id_array[i])
}
}
之后,您可以像在控制器中一样访问您的阵列。