c# – 如何将视图中的列表传递给控制器???
发布时间:2020-12-15 07:54:25 所属栏目:百科 来源:网络整理
导读:我有一个视图,在里面我正在生成一个列表,但是我没有能够成功地将它传递给控制器??而没有字段为null: 我的观点代码: @using (Html.BeginForm("AddFOP","Revenue",null,FormMethod.Post,new { enctype = "multipart/form-data" })) { table class="grid" sty
我有一个视图,在里面我正在生成一个列表,但是我没有能够成功地将它传递给控制器??而没有字段为null:
我的观点代码: @using (Html.BeginForm("AddFOP","Revenue",null,FormMethod.Post,new { enctype = "multipart/form-data" })) { <table class="grid" style="margin-top: 15px"> <thead> <tr> <th>FOP</th> <th>ORGN</th> <th>PROGRAM</th> <th>PERCENTAGE</th> <th></th> </tr> </thead> <tbody> @for (int i = 0; i < Model.editBillingFOPList.Count;i++ ) { <tr> <td>@Html.TextBox("FOPList[" + @i + "].Fund",Model.editBillingFOPList[i].Fund)</td> <td>@Html.TextBox("FOPList[" + @i + "].ORGN",Model.editBillingFOPList[i].ORGN)</td> <td>@Html.TextBox("FOPList[" + @i + "].Program",Model.editBillingFOPList[i].Program)</td> <td>@Html.TextBox("FOPList[" + @i + "].Percentage",Model.editBillingFOPList[i].Percentage)</td> </tr> 这是控制器: [HttpPost] public ActionResult AddFOP(List<BillingFOPModel> FOPList) { return View(); } 我的FOPList显示计数为1,如果我在调试模式下展开它,它会显示模型列表但是具有空值 – 任何想法? 我的型号: public class BillingFOPModel { public string BillingArea; public string BillingAreaName; public string Fund; public string ORGN; public string Program; public string Percentage; } 这是我的ViewModel: public class EditBillingViewModel { //declare attributes public List<BillingFOPModel> editBillingFOPList { get; set; } public string newBillingArea { get; set; } public string newBillingAreaName { get; set; } public string newFund { get; set; } public string newORGN { get; set; } public string newProgram { get; set; } public string newPercentage { get; set; } public EditBillingViewModel() { } //constructor that passes a list and 2 strings public EditBillingViewModel(List<BillingFOPModel> editBillingFOPList,string newBillingArea,string newBillingAreaName) { this.editBillingFOPList = editBillingFOPList; this.newBillingArea = newBillingArea; this.newBillingAreaName = newBillingAreaName; } 解决方法
你犯的是mvc的新开发者大多数做的同样的错误,你的模型有字段而不是属性,这就是你没有发布数据的原因.
将字段更改为Model类中的属性: public class BillingFOPModel { public string BillingArea {get; set; } public string BillingAreaName { get; set;} public string Fund { get; set;} public string ORGN { get; set;} public string Program {get; set;} public string Percentage {get; set;} } 边注: 尽可能使用强类型的助手,如TextBoxFor(),DropDownListFor(). (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |