在 asp.net c# 中通过 POST 传递动态列表

Passing a dynamic list through POST in asp.net c#

本文关键字:POST 动态 列表 asp net      更新时间:2023-09-26

在我的视图中,我需要多个输入框来动态数量的值。例如,如果我有动态数量的输入框(此处显示 http://jsfiddle.net/skip405/9sX6X/6/)。如何将所有这些值传递给我的控制器?

目前,我的视图中有一个输入框,设置如下:

<div class="col-md-10">
    @Html.TextBoxFor(m => m.StudentName, new { @class = "form-control", @id = "current", @name = "content" })
</div>

我的模型将学生姓名定义为:

[Required]
[Display(Name = "Student name")]
public string StudentName { get; set; }

我的第一个想法是在模型中设置一个数组并将每个数据项存储在其中,尽管我不具备 ASP.NET 或 C# 方面的专业知识来执行此操作。

提前感谢!

控制器中将数据从请求转换为操作输入参数的过程称为模型绑定。这里实现了很大的灵活性,请参阅模型绑定到列表

基本思想是,如果您有多个同名的输入,则可以将它们绑定到List<string>

更复杂的场景也是可能的:如果你有一个喜欢

public class Person
{
    public int Age{get; set;}
    public string Name{get; set;}
}

和操作方法:

public ActionResult DoSomething(List<Person> people)
{
     //do something
}

输入字段可以如下所示:

<input type="number" name="[0].Age" />
<input type="number" name="[0].Name" />
<input type="number" name="[1].Age" />
<input type="number" name="[1].Name" />