Ich habe ein ähnliches Modell:
public class SampleModel
{
public Product Product { get; set; }
}
Und in meinem Controller erhalte ich eine Ausnahme beim Ausdrucken
@Html.TextBoxFor(p => p.Product.Name)
Dies ist der Fehler:
Exception: An expression tree may not contain a dynamic operation
Wenn mir jemand Hinweise geben kann, wie ich das beheben kann, würde ich es wirklich begrüßen!
asp.net-mvc
.net-4.0
razor
Femseks
quelle
quelle
Antworten:
Es scheint mir, dass Sie eine untypisierte Ansicht haben. Standardmäßig werden Rasiermesseransichten in MVC3 RC wie folgt eingegeben
dynamic
. Lambdas unterstützen jedoch keine dynamischen Mitglieder. Sie müssen Ihr Modell stark eingeben. Fügen Sie oben in Ihrer Ansichtsdatei hinzuquelle
Ein häufiger Fehler, der die Ursache dafür ist, ist das Hinzufügen
oben auf der Seite statt
quelle
In diesem Link erklären Sie @model, siehe einen Auszug:
quelle
Ihre Ansicht scheint getippt zu sein
dynamic
. Wenn Sie den richtigen Typ in der Ansicht festlegen, wird der Fehler behoben.quelle
Bevor Sie diese Zeile verwenden (geben Sie den HTML-Helfer stark in die Ansicht ein)
Sie sollten Ihr Modell in Ihre Seite aufnehmen, um eine stark typisierte Ansicht zu erstellen.
quelle
Dieser Fehler ist mir passiert, weil ich in meinem Fall @@ model anstelle von @model ... Kopier- und Einfügefehler hatte. Der Wechsel zu @model hat das Problem für mich behoben.
quelle
Auf vb.net müssen Sie @ModelType schreiben.
quelle