在我看来,我需要多个输入框来容纳动态数量的值。例如,如果我有动态数量的输入框(如下所示http://jsfiddle.net/skip405/9sX6X/6/ 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>
我的模型将 StudentName 定义为:
[Required]
[Display(Name = "Student name")]
public string StudentName { get; set; }
我的第一个想法是在模型中设置一个数组并在其中存储每个数据项,尽管我不具备 ASP.NET 或 C# 方面的专业知识来执行此操作。
提前致谢!
将数据从请求转换为控制器中的操作输入参数的过程称为模型绑定。这里实现了很大的灵活性,请参阅模型绑定到列表 http://haacked.com/archive/2008/10/23/model-binding-to-a-list.aspx
基本思想是,如果您有多个具有相同名称的输入,则可以将它们绑定到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" />
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)