在asp.net核心中将对象数组从视图发布到控制器

在asp.net核心中将对象数组从视图发布到控制器,asp.net,asp.net-mvc,asp.net-core,asp.net-core-mvc,Asp.net,Asp.net Mvc,Asp.net Core,Asp.net Core Mvc,我的问题如下。我有一个类,叫它MyModel。它包含一个项目列表 public class MyModel { public int Value { get; set; } public string Identity { get; set; } public List<Item> Items { get; set; } } public class Item { public string Name { get; set; } public

我的问题如下。我有一个类,叫它MyModel。它包含一个项目列表

public class MyModel
{
    public int Value { get; set; }
    public string Identity { get; set; }
    public List<Item> Items { get; set; }
}

public class Item
{
    public string Name { get; set; }
    public string Description { get; set; }
}
公共类MyModel
{
公共int值{get;set;}
公共字符串标识{get;set;}
公共列表项{get;set;}
}
公共类项目
{
公共字符串名称{get;set;}
公共字符串说明{get;set;}
}
我想做的是在.cshtml中创建一个视图(表单),并将结果发布到控制器 我知道如何为一个只有字符串或数字的模型执行此操作,但当我希望用户输入值、标识,然后输入一个包含项的列表时,我该如何执行此操作。 因此,用户应该输入
值、标识和(多次)项目


有什么建议吗?我没有看到任何这样的例子,所以我要问

要将对象数组从视图发布到控制器,可以参考以下演示:

看法

结果

很高兴能帮助您解决这个问题,您能将我的答复标记为答案吗?这将帮助其他面临相同或类似问题的人快速找到答案。谢谢!
@model Demo3.Models.MyModels.MyModel

<div class="row">
 <div class="col-md-4">
    <form asp-action="CreateModel">
        <div asp-validation-summary="ModelOnly" class="text-danger"></div>
        <div class="form-group">
            <label asp-for="Value" class="control-label"></label>
            <input asp-for="Value" class="form-control" />
            <span asp-validation-for="Value" class="text-danger"></span>
        </div>
        <div class="form-group">
            <label asp-for="Identity" class="control-label"></label>
            <input asp-for="Identity" class="form-control" />
            <span asp-validation-for="Identity" class="text-danger"></span>
        </div>
        <div class="form-group">
            <table id="myRows" class="table">
                <tr class="myrow">
                    <td class="section table-column-center">
                        <label asp-for="Items[0].Name" class="control-label"></label>
                        <input asp-for="Items[0].Name" class="form-control" />
                        <span asp-validation-for="Items[0].Name" class="text-danger"></span>
                    </td>
                    <td class="section table-column-center">
                        <label asp-for="Items[0].Description" class="control-label"></label>
                        <input asp-for="Items[0].Description" class="form-control" />
                        <span asp-validation-for="Items[0].Description" class="text-danger"></span>
                    </td>
                </tr>

            </table>
        </div>
        <div class="item-add">
            <a id="add-row" class="link-button">Add Row</a>
        </div>
        <br/>
        <div class="form-group">
            <input type="submit" value="Create" class="btn btn-primary" />
        </div>
    </form>
 </div>
</div>

@section Scripts
{
<script>
$("#add-row").click(function () {
        var nextId = $(".myrow").length;

        var rowHtml = '<tr class="myrow">' +
            '<td class="section table-column-center" >' +
            '<input class="form-control" type="text" id="Items_' + nextId + '_Name" name="Items[' + nextId + '].Name" value=""/>' +

            '<span class="text-danger field-validation-valid" data-valmsg-for="Items[' + nextId + '].Name" data-valmsg-replace="true"></span>' +

            '</td>' +

            '<td class="section table-column-center">' +
            '<input class="form-control" type="text" id="Items_' + nextId + '_Description" name="Items[' + nextId + '].Description" value=""/>' +

            '<span class="text-danger field-validation-valid" data-valmsg-for="Items[' + nextId + '].Description" data-valmsg-replace="true"></span>' +

            '</td>'+

            '</tr>';

        $("#myRows").append(rowHtml);
    });
 </script>
 }
    public IActionResult PassDataList()
    {
        return View();
    }

    [HttpPost]
    public IActionResult  CreateModel(MyModel model)
    {
        return Json(model);
    }