1
我有问题从mvc中的简单视图发回值给我的控制器。MVC - 查看不传回模型列表值到控制器
在视图中,我有一个简单的表格,该表格在用户选择下拉列表值时填充。下面是视图的提取物:
@model IList<RFQFreight.Models.TargetTransitTotal>
@using (Ajax.BeginForm("InputTimev2", "Target",
new AjaxOptions
{UpdateTargetId = "result", HttpMethod = "POST",
InsertionMode = InsertionMode.Replace}))
{
<table class="tblTarTime">
<thead>
<tr><td>Select RFQ</td></tr>
</thead>
<tr>
<td>
<select id="ddlTarTimRFQs" name="ddlTarTimRFQs">
@{
string getRfqUrlId = HttpContext.Current.Request.QueryString["rfqid"];
if (getRfqUrlId == null){getRfqUrlId = "";}
List<string> rfqLst = ViewBag.rfqsLst;
rfqLst.Sort();
}
<option value=""></option>
@foreach (var item in ViewBag.rfqsLst)
{
if (getRfqUrlId == item)
{<option value="@item" selected>@item</option>}
else{<option value="@item">@item</option>}
}
</select>
</td>
</tr>
</table>
<table id="tblTarTime" class="tblTarTime">
@if (ViewBag.rfqSelected == true)
{
<thead>
<tr>
<td>Route</td>
<td>Transit Target Time</td>
</tr>
</thead>
foreach (var item in Model)
{
<tr>
@Html.HiddenFor(model => item.rfqId)
</tr>
<tr>
<td>
@Html.DisplayFor(model => item.serviceId)
@Html.HiddenFor(model => item.serviceId)
</td>
<td>
@Html.TextBoxFor(model => item.amount)
@Html.HiddenFor(model => item.amount)
@*<input type="text" value="@item.amount" />*@
</td>
</tr>
}
<tr><td colspan="2"></td></tr>
<tr>
<td colspan="2">
@*<a href="#" class="linkSubmit" id="save">Save</a>*@
<input type="submit" value="Save" id="saveTarget" onclick="checkInputsTime(event)" />
</td>
</tr>
}
else
{
<tr><th width="400">No Routes Available</th></tr>
}
</table>
这里被从[获取]控制器功能的提取物:
public ActionResult InputTimev2(string rfqid = "")
{
if (rfqid == "")
{
}else{
//page load after rfqid dropdown selection
var getLstTargetTransit = new List<TargetTransitTotal>();
getLstTargetTransit = (from targetRows in db.TargetTransitTotals
join rfqs in db.RFQMasters on targetRows.rfqId equals rfqs.RfqId
where rfqs.Status != "COMPLETED"
select targetRows).ToList();
dynamic rfqLst = new List<string>();
rfqLst = (from rfq in getLstTargetTransit orderby rfq.rfqId descending select rfq.rfqId).Distinct().ToList();
ViewBag.rfqsLst = rfqLst;
ViewBag.rfqSelected = true;
var lstTargetTransit = new List<TargetTransitTotal>();
lstTargetTransit = (from targetRows in getLstTargetTransit where targetRows.rfqId == rfqid
select targetRows).ToList();
lstTargetTransit.RemoveRange(1, lstTargetTransit.Count - 1);
return View(lstTargetTransit);
}
这里被从[POST]控制器功能的提取物:
[HttpPost]
public ActionResult InputTimev2(List<TargetTransitTotal> model)
{
if (model != null) //This value is showing as null
{
}
}
任何人都可以向我解释为什么模型在视图中正确发送和显示,但是当它返回到控制器(后)时,模型中什么都没有?
感谢