2011-10-06 3 views
1
@inherits umbraco.MacroEngines.DynamicNodeContext 
@using System 
@using System.Linq 
@using System.Xml.Linq 
@{ 
dynamic node = new umbraco.MacroEngines.DynamicNode(1121); 

} 


@foreach (dynamic group in node.Children.OrderBy("CreatedDate").Take(2)) 
{ 
<div class="column-holder"> 
@foreach (var item in group) 
{ 
     <div class="cell"> 

     <h3>@item.Name</h3> 
     <em>@String.Format("{0:dddd, MMMM d yyyy}", item.EventDateTime) - Starts at @String.Format("{0:HH:mm}", item.EventDateTime)</em><br /> 
     <span>@(Library.Truncate(Library.StripHtml(item.EventDescription), 50, true))</span> 
     <p class="readmore-link"><a href="@item.Url" class="link more">read more</a></p>  

     </div> 


} 
</div> 

}Impossible Convertir erreur en utilisant implicitement Macro Razor dans Umbraco 4.7.1

L'erreur suivante que je reçois quand je tente de lancer le micro ci-dessus sur la page d'accueil:

Erreur lors du chargement de script Razor ~/macroscripts /eventhomepage.cshtml Impossible de convertir implicitement le type 'umbraco.MacroEngines.DynamicNode' en 'System.Collections.IEnumerable'. Une conversion explicite existe (vous manque un casting?)

Répondre

0

J'utilise cette structure un peu à faire des choses semblables

IEnumerable<DynamicNode> nodeList = new DynamicNode(1121).Descendants(2).Items.OrderBy(x => x.CreateDate).Take(2); 
List<DynamicNode> nodes = nodeList.ToList(); 

puis votre foreach serait juste

foreach(DynamicNode group in nodes) 

et faire assurez-vous d'ajouter

@using umbraco.MacroEngines 
Questions connexes