【发布时间】:2013-06-21 11:45:21
【问题描述】:
在我的 MVC4 项目视图中,我将 IEnumerable<Settings> 模型传递给视图。当我将表单提交回我的控制器时,控制器方法的参数为IEnumerable<Settings> data。问题是data 始终为空。
查看
@model IEnumerable<Settings>
@using (Html.BeginForm("Index", "Layout", FormMethod.Post)))
{
@foreach (var item in Model)
{
@Html.CheckBoxFor(modelItem => item.IsActive, new { @value = item.Id })
@Html.DisplayFor(modelItem => item.Name)
}
<input type="submit" value="Save" />
}
控制器
[HttpPost]
public ActionResult Index(IEnumerable<Settings> data)
{
--actual code goes here
}
型号
[Serializable]
public class Settings
{
public virtual byte Id { get; set; }
public virtual string Name { get; set; }
public virtual bool IsActive { get; set; }
public virtual DataTable DataResult { get; set; }
public virtual int CreatedBy { get; set; }
public virtual DateTime CreatedDate { get; set; }
public virtual int ClientId { get; set; }
public virtual Int16 NoofItems { get; set; }
}
更新: *渲染的 HTML*
<td>
<input checked="checked" data-val="true" data-val-required="The IsActive field is required." id="item_IsActive" name="item.IsActive" type="checkbox" value="13" class="valid"><input name="item.IsActive" type="hidden" value="false">
# of pieces
</td>
更新1: 在 Andrei 回答后呈现 HTML
<td>
<input checked="checked" data-val="true" data-val-required="The IsActive field is required." name="[0].IsActive" type="checkbox" value="13"><input name="[0].IsActive" type="hidden" value="false">
# of pieces</td>
【问题讨论】:
-
你的控制器方法命中了吗?
-
@BhushanFirake,是的,它成功了,从那里我只用即时窗口分析,数据为空
-
索引操作方法的post code,你是如何从控制器返回结果的?
-
@SanjeevRai,我将通过
Collection<Settings>作为视图模型...
标签: c# asp.net-mvc-4