Je travaille avec MVC 2 et il semble qu’à un moment donné la classe ModelBindingContext.ValueProvider ait été supprimée et remplacée par IValueProvider. À cause de cela, j’ai du mal à parcourir le ValueProvider.Keys. Voici un exemple et le message que je reçois de Code complete
private void foo(ModelBindingContext myMBC) { var myImportantKeys = myMBC.ValueProvider.Keys.where(keyValue => keyValue.StartsWith("important", SsortingngComparison.InvariantCulture); foreach(var importantKey in myImportantKeys) { } }
Le message que je reçois est System.Web.MVC.IValueProvider ne contient pas de définition pour les clés. Quelqu’un pourrait-il m’éclairer sur la façon de contourner ce problème?
Mon Dieu, ce code a l’air familier!
Vous ne pouvez pas obtenir une liste de valeurs de clé de IValueProvider
. Vous devez aller à la source, par exemple:
var keys = controllerContext.HttpContext.Request.QuerySsortingng.AllKeys.Where(...