複数の変更をサーバーに投稿できる 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
したがって、データは問題ないようです (プロパティにドットがないことを除いて?)。では、メソッドのシグネチャを変更する必要がありますか? カスタム モデル バインダーを作成する必要がありますか (これはかなり一般的なシナリオだと思いますが)。