C# MVC3 ViewBag, comment utiliser les listes de biens en vue au sein d'instruction foreach?
public class RegisterSubscription
{
public string ID { get; set; }
public string Description { get; set; }
public int SubscrSelected { get; set; }
public string Image { get; set; }
public string InfoUrl { get; set; }
}
private List<RegisterSubscription> activePlans = new List<RegisterSubscription>();
Dans mon contrôleur, j'ai ViewBag.ActivePlans = activePlans; et le ViewBag remplit avec les données correctes. Maintenant, de mon point de vue j'ai:
@foreach (var item in ViewBag.ActivePlans)
{
<li class="popupmenu" id="service_@(item.ID)" >
<div>
@Html.Image(item.Image, new { style="border-style:none; text-align:left; vertical-align:middle; width:64px; height:64px" })
</div>
</li>
}
mais j'obtiens l'erreur suivante:
'Système.Web.Mvc.HtmlHelper' a aucune méthode nommée "Image", mais il semble avoir une méthode d'extension de ce nom. Les méthodes d'Extension ne peut pas être distribué de façon dynamique. Envisagez de convertir la dynamique des arguments ou en appelant la méthode d'extension sans la méthode d'extension de la syntaxe.
Toute aide sera grandement appréciée,
je vous remercie à l'avance.
OriginalL'auteur zynaps | 2011-01-11
Vous devez vous connecter pour publier un commentaire.
Avertissement: je ne l'ai pas fait MVC trucs, donc c'est une conjecture.
Ma conjecture est que ActivePlans est dynamique dans une forme... donc en gros, vous avez besoin de faire
item
fortement typé. Il peut être aussi simple que cela:... ce qui serait fondamentalement cast chaque élément de
RegisterSubscription
comme il a obtenu hors de l'ViewBag
. Après ce point, je ne vois pas ce que vous avez quelque chose de dynamique, de sorte que la méthode d'extension devrait être correct. Je pense que. Peut-être. Quand le vent est bon.A fonctionné pour moi aussi! Merci!
Skeet - ce que si je suis en utilisant un type anonyme. Ex. ViewBag.ActivePlans = new { Prop = "Valeur" }
? How could I access
ActivePlans.Prop` à partir de la vue sans être en mesure de convertir l'objet? Possible?Je ne sais pas, pour être honnête.
merci pour la réponse rapide. ma conjecture est que je ne peut pas. je suis allé de l'avant et fait une rapide vue modèle, mais il essayait d'éviter que
OriginalL'auteur Jon Skeet