将多个控件绑定到MVC中的集合
本文关键字:MVC 集合 绑定 控件 | 更新日期: 2023-09-27 18:12:17
我有10个文本类型输入控件,5个在第一个标签&5在同一页的第二个标签。
现在我有了一个名为 的类public partial class TravelerMaster
{
public virtual ICollection<TravelerDetail> TravelerDetails { get; set; }
}
有一个集合作为TravelerDetail。
public partial class TravelerDetail
{
public byte PackageTypeId { get; set; }
public int? NoOfPackage { get; set; }
public decimal? Weight { get; set; }
public decimal? PricePerKg { get; set; }
public decimal? PricePerPackage { get; set; }
}
如何绑定控件,以便在发布数据时,TravelerMaster对象的集合中有两个对象。
请帮帮我。提前感谢。
您可以像这样提交特定模型的集合。通过应用索引(这可以是任何唯一的东西,但为了方便起见,我使用了一个整数值),您可以向控制器提交相同模型的集合:
<div id="tab1">
@Html.Hidden("data.Index","1")
@Html.TextBox("data[1].weight", "", new { @class = "your-class-names", @id = "data[1].weight" })
...other fields...
</div>
<div id="tab2">
@Html.Hidden("data.Index","2")
@Html.TextBox("data[2].weight", "", new { @class = "your-class-names", @id = "data[2].weight" })
...other fields...
</div>
控制器[HttpPost]
public ActionResult YourControllerMethod(IEnumerable<TravelerDetail> data)
{
if (data==null || data.Count() == 0) throw new Exception("No Data Added");
....other validation...
foreach(var item in data) {
...database work...
}
}