0
我将一个列表传递给视图以在网格中显示。在网格下面,我有一个表单允许用户向网格中提交新值。当控制器被调用时,模型似乎总是空的,我不知道我做错了什么,或者我应该以完全不同的方式做这件事。具有多种形式的MVC模型
视图的relavent部分如下
@model IList<PSIApp.Models.PSM_StationTimetableView>
@using (Html.BeginForm())
{
<div class="panel-group">
<div class="panel panel-default">
<div class="panel-heading">
<h4 class="panel-title">
<a data-toggle="collapse" href="#collapse3">Hourly Update ▼</a>
</h4>
</div>
<div id="collapse3" class="panel-collapse collapse in" style="width:100%; margin-left:0%; margin-right:50px;">
<div class="mainformCollapse" style="width:100%; margin-left:0%; margin-right:50px;">
<p class="group-header">Hourly Update</p>
<div class="form-group row">
<label for="example-text-input" class="col-xs-3 col-form-label" id="formLabelId">BP Issued</label>
<div class="col-xs-3">
@Html.MyTextBoxFor(p => p[0].PSM_StationBPData.BPIssued, new { @class = "generalformbox" }, false)
</div>
<label for="example-text-input" class="col-xs-3 col-form-label " id="formLabelId">BP Cancelled/Spoilt</label>
<div class="col-xs-3">
@Html.TextBoxFor(p => p[0].PSM_StationBPData.BPSpoilt, new { @class = "generalformbox" })
</div>
</div>
<div class="form-group row">
<label for="example-text-input" class="col-xs-3 col-form-label" id="formLabelId">AV Issued</label>
<div class="col-xs-3">
@Html.TextBoxFor(p => p[0].PSM_StationBPData.PostalReceived, new { @class = "generalformbox" })
</div>
<label for="example-text-input" class="col-xs-3 col-form-label" id="formLabelId">Tendered Issued</label>
<div class="col-xs-3">
@Html.TextBoxFor(p => p[0].PSM_StationBPData.BPTendered, new { @class = "generalformbox" })
</div>
</div>
<input type="submit" value="Submit Hourly Update" class="standardsubmitbt" />
</div>
</div>
</div>
</div>
}
控制器
public ActionResult POControl(Models.PSM_StationBPData model)
{
return RedirectToAction("POControl");
}
尝试检查您从浏览器或某个工具(如fiddler)发布什么值 – mahlatse
您使用索引器生成表单控件,这意味着您的控制器方法需要为'public ActionResult POControl(List model)'。但代码没有意义。您应该有一个视图模型,其中包含要编辑的每个“PSM_StationTimetableView”属性的属性,以及要在网格中显示的集合的“IEnumerable StationTimetableList”属性 –