如何传递list <字符串>使用表单收集到控制器

本文关键字:表单 控制器 list 何传递 字符串 | 更新日期: 2023-09-27 18:16:49

我试图将我的数据绑定到我的模型上,这是一个列表。下面是我在视图上的代码:

@using (Html.BeginForm("fncModify", "Main", FormMethod.Post, 
new { enctype = "multipart/form-data" }))
for (int x = 0; x < Model.lstEmployeeNames.Count; x++)
         {
             @Html.HiddenFor(y=>y.lstEmployeeNames[x])
         }

在我的模型视图中:

public IList<string> lstEmployeeNames { get; set; }

但是在我的控制器视图中,我的表单值总是返回空值

 public ActionResult fncModify(FormCollection form)
    {
        IList<string> lstResult = new List<string>();
        //this always return null
        var lstResult = form["lstEmployeeNames"];
        return RedirectToAction("Index", "Main");
    }

你觉得我遗漏了什么?我计划从我的模型传递字符串列表。lstEmployeeNames到我的控制器

如何传递list <字符串>使用表单收集到控制器

根据用户GSerg的建议,我可以通过使用以下代码将List直接映射到我的ActionResult方法,从而将我的collection从razor视图传递到我的控制器:

public ActionResult fncModify(List<string> lstEmployeeNames)

而不是使用这个:

public ActionResult fncModify(FormCollection form)