在ASP.net MVC中,我需要在Viewpage中传递一个应该隐藏的值数组,并且我需要保存这些隐藏的字段值

本文关键字:隐藏 字段 保存 数组 Viewpage MVC net ASP 一个 | 更新日期: 2023-09-27 18:17:51

在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();
       }

在ASP.net MVC中,我需要在Viewpage中传递一个应该隐藏的值数组,并且我需要保存这些隐藏的字段值

可以使用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])
       }
    }

之后你可以像在控制器中那样访问你的数组

最好从数组中创建一个逗号分隔的字符串,然后将其保存到隐藏文件中。并且在post请求的时候将字符串再次转换为数组