ValueProvider enthält keine Definition für TryGetValue

8

In meiner Anwendung versuche ich, das Feld Datum und Uhrzeit von und DateTime zu teilen, damit ich eine jQuery-Datumsauswahl für das Datum einfügen kann. Ich fand Hanselmans Code zum Teilen der DateTime , aber ich bekomme einen Kompilierungsfehler auf bindingContext.ValueProvider.TryGetValue(modelName, out valueResult); . Der Fehler, den ich bekomme, ist:

  

Fehler 3 'System.Web.Mvc.IValueProvider' enthält keine Definition für 'TryGetValue' und es wurde keine Erweiterungsmethode 'TryGetValue' gefunden, die ein erstes Argument vom Typ 'System.Web.Mvc.IValueProvider' akzeptiert (sind Sie fehlen eine using-Direktive oder eine Assembly-Referenz?) C: \ Dokumente und Einstellungen \ xxx \ Eigene Dateien \ Visual Studio 2008 \ Projekte \ MeinProjekt \ Projekt \ Helfer \ DateAndTimeModelBinder.cs 83 42 Projekt

Was vermisse ich etwas? Ich habe eine neue Klasse erstellt und seinen Code in einen Helfer-Ordner in meinem Projekt eingefügt.

    
Mike Wills 10.11.2010, 22:37
quelle

2 Antworten

14

TryGetValue() ist kein Mitglied von System.Web.Mvc.IValueProvider . Ich vermute, er hat eine benutzerdefinierte Erweiterung, die ungefähr so ​​aussieht:

%Vor%

Aktualisieren

TryGetValue() ist keine Erweiterungsmethode, sondern eine Methode des Typs IDictionary <T,U> . Der Typ von bindingContext.ValueProvider hat sich seit MVC1 geändert, da @moutinator angezeigt wurde. Es ist möglich, dass Sie einfach den Aufruf von TryGetValue() ignorieren und stattdessen GetValue() aufrufen und das Ergebnis auf Null prüfen. Ich bin nicht sicher, ob es eine Ausnahme werfen wird, da ich es nicht getestet habe, also versuche es zuerst.

    
Nathan Taylor 10.11.2010, 22:41
quelle
5

Ich hatte das Problem, Hanselmans Beispiel neulich zu folgen. Es ist kein MVC2-Beispiel. TryGetValue funktioniert nicht und / oder wird nicht mehr benötigt. Versuchen Sie diesen Link:

Ссылка

Ich habe eine MVC2-Extension-Methode aus Hanselmans GetA-Methode zum Ersetzen erstellt, obwohl ich nicht sicher bin, ob sie wie beabsichtigt funktioniert, da sie mein einzigartiges Problem nicht gelöst hat, das eigentlich nichts mit Datum oder zu tun hatte Zeit.

%Vor%     
Kevin Stricker 10.11.2010 22:50
quelle