2012-05-24 6 views

Antwort

13

ContentItem ist ein dynamisches Objekt, das direkten Zugriff auf Teile und Felder erlaubt, ohne diese hässlichen Lambdas verwenden zu müssen. Sie müssen nur den Namen des Teils wissen, der das Feld enthält, und Sie können Folgendes tun:

someContentItem.ThePartThatHasTheField.TheField.TheNameOfThePropertyYouWantToAccess 
+0

Weitere hervorragende Hilfe von Bertrand ... Ich frage mich, wie es möglich wäre, dies ohne seine Hilfe herauszufinden! –

+0

Bertrand hat eine tolle Antwort gegeben, die genau das war, wonach ich suchte! Eine Art "Heiliger Gral" von Orchard und was Orchard so großartig macht ... Aber du wusstest, dass ein "aber" kommt, nicht wahr? ;) Ich habe dies: 'currentUser.UserCulturePart.Fields [0] .Value;' Und es funktioniert super. Ich habe auch eine foreach-Schleife, die Felder dieses Inhaltsteils durchläuft und ihre Namen auflistet. Es ist nur 1 Feld mit dem Namen "Kultur". Aber wenn ich versuche, so auf es zuzugreifen: 'currentUser.UserCulturePart.Culture.Value' es wirft einen Fehler aus, der es Kultur nicht enthält ... Irgendwelche Ideen? –

+0

In Bezug auf meinen letzten Kommentar. Ich hatte .WithField ("Culture") in meinen Migrationen.cs ... vielleicht eine gute Sache zu beachten, um .Trim() beim Speichern von ihnen zu setzen? Da dies sehr schwierig zu debuggen ist und die Verwendung von Feldnamen, die Leerzeichen enthalten, unmöglich ist. Ich habe es bereits geschafft, Code mit Leerzeichen in Feldernamen zu brechen. –

Verwandte Themen