我有一个 Kendo UI 网格,它允许我将多个更改发布到服务器。绑定到网格的模型包含一个复杂类型的列表。这是(简化):
public class User
{
public int ID { get; set; }
public string Name { get; set; }
public List<Role> Roles { get; set; }
}
要更新服务器上的更改,我的控制器中有一个具有以下签名的方法:
public ActionResult UpdateUtilisateurs([DataSourceRequest] DataSourceRequest request, [Bind(Prefix = "models")]IEnumerable<User> users)
集合被正确填充,users
但Roles
列表为空。我使用 Firebug 确保数据实际上是来回序列化的。这是我在到达控制器之前更新 1 行时的 POST:
filter
group
models[0].ID 16
models[0].Name Amir Majic
models[0].Roles[0][Code] dbadmin
models[0].Roles[0][Description] Database Administrator
models[0].Roles[0][ID] 33
sort
所以数据看起来还可以(除了Roles
属性中缺少的点?)。那么我必须更改方法签名吗?我是否必须创建一个自定义模型绑定器(尽管我猜这是一个相当常见的场景)?