2012-05-24 8 views

Respuesta

13

ContentItem es un objeto dinámico que permite el acceso directo a partes y campos sin tener que usar esos feos lambdas. Solo necesita saber el nombre de la parte que tiene el campo, y puede hacerlo:

someContentItem.ThePartThatHasTheField.TheField.TheNameOfThePropertyYouWantToAccess 
+0

Más ayuda excelente de Bertrand ... ¡Me pregunto cómo sería posible resolver esto sin su ayuda! –

+0

¡Bertrand ha dado una gran carta que era exactamente lo que estaba buscando! Una especie de "Santo Grial" de Orchard y lo que hace que Orchard sea tan genial ... Pero sabías que vendría un "pero", ¿verdad? ;) Tengo esto: 'currentUser.UserCulturePart.Fields [0] .Value;' Y está funcionando muy bien. También tengo un bucle foreach que recorre los campos de esta parte de contenido y enumera sus nombres. Es solo 1 campo con el nombre "Cultura". Pero si trato de acceder de esta manera: 'currentUser.UserCulturePart.Culture.Value' arroja un error que no contiene Cultura ... ¿Alguna idea? –

+0

Con respecto a mi último comentario. Tenía .WithField ("Cultura") en mis migrations.cs ... tal vez algo bueno que destacar, poner .Trim() al guardarlos? Como esto es muy difícil de depurar, es imposible usar nombres de campo que tengan espacios en ellos. Ya he logrado descifrar un código con espacios en los nombres de los campos. –

Cuestiones relacionadas