Asp.net mvc 3 模型使用MvcContrib网格绑定视图模型列表
我正在尝试使用MvcContrib网格助手将模型对象列表绑定到网格。显然,发出HTML表很容易,但我很难返回所有选定的行(或所有行并通过Where(x=>x.selected)进行过滤) 这是我的意思的一个虚拟版本: 型号:Asp.net mvc 3 模型使用MvcContrib网格绑定视图模型列表,asp.net-mvc-3,model-binding,mvccontrib-grid,Asp.net Mvc 3,Model Binding,Mvccontrib Grid,我正在尝试使用MvcContrib网格助手将模型对象列表绑定到网格。显然,发出HTML表很容易,但我很难返回所有选定的行(或所有行并通过Where(x=>x.selected)进行过滤) 这是我的意思的一个虚拟版本: 型号: public class Player { [ScaffoldColumn(false)] public int Id { get; set; } public string Name { get; set; } public int Jer
public class Player
{
[ScaffoldColumn(false)]
public int Id { get; set; }
public string Name { get; set; }
public int JerseyNumber { get; set; }
public string Position { get; set; }
[ScaffoldColumn(false)]
public bool Selected { get; set; }
}
视图:
@model democode.Models.Player
@使用(Html.BeginForm())
{
@{
var grid=Html.grid(模型)
.AutoGenerateColumns()
.Columns(c=>c.For(p=>Html.CheckBoxFor(=>p.Selected)).InsertAt(0))
.Columns(c=>c.For(p=>Html.HiddenFor(=>p.Id)))
grid.Render();
}
}
因此,您看到的是曲棍球运动员的网格,每个人前面都有一个复选框,允许用户选择一个或多个。单击submit,我希望它将集合发回(了解除Selected和Id之外的所有项都将为null/default),但我知道问题是post数据中遇到的记录在键值对列表中有重叠的键。
过去,我通过手工编写HTML表并使用Phil Haack在此概述的策略,成功地解决了这一问题:
我的问题是,我可以使用MvcContrib中的Grid helper做同样的事情吗,或者它的工作量是否超过了它的价值
@model democode.Models.Player
@using (Html.BeginForm())
{
@{
var grid = Html.Grid(Model)
.AutoGenerateColumns()
.Columns(c => c.For(p => Html.CheckBoxFor(_ => p.Selected)).InsertAt(0))
.Columns(c => c.For(p => Html.HiddenFor(_ => p.Id)))
grid.Render();
}
<p>
<input type="submit" value="Submit" />
</p>
}