将列表从视图传递到控制器,MVC 5

本文关键字:控制器 MVC 列表 视图 | 更新日期: 2023-09-27 18:13:10

所以,我使用MVC,我试图创建一个新的员工使用实体。在创建员工的同时,我还尝试创建一个与该员工绑定的项目列表(一对多)。

所以我的问题是,我在提交按钮的onclick事件中调用javascript函数。这个javascript函数创建了一个id列表,我需要这些来创建项目。

我如何将这个id列表传递到我的控制器,以便我可以创建它们?

    <div class="form-group">
        <div class="col-md-offset-2 col-md-10">
            <input type="submit" value="Create" class="btn btn-default" onclick="getResult()"/>
        </div>
    </div>

将列表从视图传递到控制器,MVC 5

为视图中的form元素添加一个空的隐藏输入,我们将其命名为idslist

@Html.Hidden("idslist")

使用javascript JSON将您的id放入该输入。字符串化或简单地用分隔符分隔一个id列表。

现在你可以在你的控制器上读取列表,当用户提交表单时:

public ActionResult Create(myModel x, string idslist)
{
    // now you have to deserialize your idslist
    // using JsonConvert.DeserializeObject or just split for the second case.
}