J'ai un modèle similaire à celui-ci:
public class SampleModel
{
public Product Product { get; set; }
}
Et dans mon contrôleur, j'obtiens une exception en essayant d'imprimer
@Html.TextBoxFor(p => p.Product.Name)
Voici l'erreur:
Exception: An expression tree may not contain a dynamic operation
Si quelqu'un peut me donner des indices sur la façon de résoudre ce problème, je l'apprécierais vraiment!
asp.net-mvc
.net-4.0
razor
femseks
la source
la source
Réponses:
Il me semble que vous avez une vue non typée. Par défaut, les vues Razor dans MVC3 RC sont saisies comme
dynamic
. Cependant, les lambdas ne prennent pas en charge les membres dynamiques. Vous devez taper fortement votre modèle. En haut de votre fichier de vue, ajoutezla source
Une erreur courante qui en est la cause est lorsque vous ajoutez
en haut de la page au lieu de
la source
Dans ce lien expliquez sur @model, voir un extrait:
la source
Il semble que votre vue soit saisie
dynamic
. Définissez le bon type sur la vue et vous verrez l'erreur disparaître.la source
Avant d'utiliser (tapez fortement l'aide html en vue) cette ligne
Vous devez inclure votre modèle dans votre page pour créer une vue fortement typée.
la source
Cette erreur m'est arrivée parce que j'avais @@ model au lieu de @model ... erreur de copier-coller dans mon cas. Le passage à @model l'a corrigé pour moi.
la source
Sur vb.net, vous devez écrire @ModelType.
la source