ASP.NET MVC4 -在多个文本框中添加多个
本文关键字:添加 文本 NET ASP MVC4 | 更新日期: 2023-09-27 18:09:12
我正在与ASP合作。净MVC4。我想通过显示具有多个文本框的视图来提供添加多个记录(从1到3最大)的可能性,这些文本框最终表示相同的东西。
例如,在我的视图中,我希望有这样的东西:
起始时间(1):|TextBoxForHours| h |TextBoxForMinutes|
开始时间(2):|TextBoxForHours| h |TextBoxForMinutes|
开始时间(3):|TextBoxForHours| h |TextBoxForMinutes|
在我的控制器中,我将检查有多少个文本框已经填充,并将其保存在我的数据库中。
下面是我创建的ViewModel:
public class DeniedIntervalsViewModel
{
public int StartHour { get; set; }
public int StartMinute { get; set; }
}
有什么办法吗?
你可以像这样使用数组、列表、集合或字典的输入命名约定
(更新)单行的输入:
@for (int i = 0; i < Model.Count; i++)
{
<div>
<label>Start hour :</label>
<input type="text" name="intervals[@i].StartHour " value="" />
<input type="text" name="intervals[@i].StartMinute " value="" />
</div>
}
将ViewModel绑定回View:
@for (int i = 0; i < Model.Count; i++)
{
<div>
<label>Start hour :</label>
@Html.TextBoxFor(model => model.Intervals[i].FirstName)
@Html.TextBoxFor(model => model.Intervals[i].LastName)
</div>
}
和你的父视图模型包含数组
public class TheViewModel{
public DeniedIntervalsViewModel[] Intervals{ get; set; }
}
public class TheController{
public ActionResult Blah(DeniedIntervalsViewModel[] intervals) {
// ...
}
}