Frage

Ich möchte eine Tag-Wolke in meinem Test-Anwendung angezeigt werden eine Hilfsklasse mit dem HTML zu erstellen.

Ich kann ein in der Teilansicht für jede Schleife verwenden, um jedes Element im Modell zu besuchen

Inherits="System.Web.Mvc.ViewUserControl < IEnumerable < MyTestproject.Models.TagCount > >

foreach (var item in Model) {

}

Aber wenn ich versuche, das Modell auf die Helper-Klasse übergeben und ein I für jede Schleife verwenden Sie die folgende Fehlermeldung an:

public static string DisplayCloud < TagCount >(TagCount objTags) {

..
       foreach (var item in objTags) {

       }
}

foreach-Anweisung kann nicht auf Variablen vom Typ ‚TagCount‘ arbeiten, weil ‚TagCount‘ keine öffentliche Definition für ‚GetEnumerator‘ enthalten

Was ist der Unterschied oder bin ich es falsch vorbei?

War es hilfreich?

Lösung

Weil Sie eine andere Art vorbei sind.

Die Ansicht wird immer IEnumerable<TagCount>

Der Helfer wird immer TagCount

Ihr Helfer Code muss sein:

public static string DisplayCloud(IEnumerable<TagCount> objTags) {

..
       foreach (var item in objTags) {

       }
}

Der generische Typ auf der Methode scheint nutzlos / illegal, da es sich um eine tatsächliche Typ ist, so dass ich es entfernt, sowie das Argument Typ fixiert wird.

Andere Tipps

Schauen Sie genauer auf den Unterschied zwischen Ihrer Sicht der Klassensignatur und Ihre Hilfsmethode Unterschrift:

  

Erbt = "System.Web.Mvc.ViewUserControl << strong> IEnumerable >

     

public static string DisplayCloud (TagCount objTags)

Das Verfahren benötigt eine IEnumerable<TagCount> erhalten, um foreach zu nennen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top