【发布时间】:2014-02-07 02:27:59
【问题描述】:
很抱歉这里的代码量很大,但这是解释正在发生的事情的最佳方式。
我在 MVC 4 部分视图中给出了这段代码:
<script src="~/Scripts/jquery.unobtrusive-ajax.js"></script>
@using (Ajax.BeginForm("TestPost", new AjaxOptions { HttpMethod = "Post" }))
{
foreach (var d in Model.DataItemsWithLabels)
{
@Html.LabelFor(m => d.DataName)
@Html.TextBoxFor(m => d.DataValue);
}
<input type="submit" value="Save" />
}
而我的控制器动作如下:
public ActionResult TestPost(CmaPartialModel model)
{
return PartialView("Transaction", model);
}
在我的模型中,我有一些代码填充对象列表(仅当它们为空时),这些对象定义为:
public List<DataItemWithLabel> DataItemsWithLabels { get; set; }
public class DataItemWithLabel
{
public string DisplayName { get; set; }
public string DataName { get; set; }
[Required]
public string DataValue { get; set; }
}
我也有正确的 web.config 条目:
我在这里和其他地方阅读了大量帖子,但没有成功。
代码确实发布到TestPost 方法,但模型始终为空。谁能告诉我为什么会这样?
【问题讨论】:
标签: ajax asp.net-mvc asp.net-mvc-4 asp.net-ajax