J'ai un objet assez complexe avec de nombreux types de données. Quelques types de données sont des listes (LazyLists pour être exact).Empêcher un classeur modèle de retourner une liste d'objets NULL dans ASP.NET MVC
Dans ma forme, je laisse l'utilisateur d'entrer jusqu'à, disons 3 articles pour cette liste et mes noms d'entrée de formulaire correspondent de façon appropriée:
myObj[0].Name
myObj[0].Email
...consectuviely...
myObj[2].Name
myObj[2].Email
Si l'utilisateur décide d'entrer une seule valeur de l'objet, c'est très bien avec moi, mais je ne veux pas une liste comme ceci:
myObjList[0] = {Name = "joe", Email = "[email protected]"}
myObjList[1] = {Name = null, Email = null}
myObjList[2] = {Name = null, Email = null}
le problème que j'ai trouvé est que le DefaultModelBinder
va créer d'abord l'objet puis lier tout simplement pas les propriétés - en laissant l'objet avec des propriétés null. Dans le cas d'une liste, la méthode UpdateCollection
ne semble pas s'en soucier et ajoute simplement les objets lorsqu'il y a des objets à ajouter.
Des idées? Y a-t-il quelque chose de simple qui me manque?