私はこれに似たモデルを持っています:
public class SampleModel
{
public Product Product { get; set; }
}
そして、コントローラーで印刷しようとすると例外が発生します
@Html.TextBoxFor(p => p.Product.Name)
これはエラーです:
Exception: An expression tree may not contain a dynamic operation
誰かが私にこれを修正する方法についていくつかの手がかりを与えることができるなら、私は本当に感謝します!
あなたには型付けされていない見方があるように思えます。デフォルトでは、MVC3 RCのRazorビューはdynamic
と入力されます。ただし、ラムダは動的メンバーをサポートしていません。モデルを強く入力する必要があります。ビューファイルの上部に追加します
@model SampleModel
これの原因である一般的なエラーは追加するときです
@Model SampleModel
代わりにページの上部に
@model SampleModel
これで link @modelについて説明し、抜粋を参照してください:
@model
(小文字の「m」)は、ビューの上部でモデルタイプを宣言するためのRazorビューの予約キーワードです。名前空間も配置しました。例:@model MyNamespace.Models.MyModel
ファイルの後半で、
@Model.Attribute
(大文字の「M」)で必要な属性を参照できます。
ビューにdynamic
と入力されているようです。ビューに正しいタイプを設定すると、エラーが消えます。
この行を使用する前に(htmlヘルパーを強く入力して)この行
@Html.TextBoxFor(p => p.Product.Name)
型を強く表示するには、ページにモデルを含める必要があります。
@model SampleModel
このエラーは、@ modelの代わりに@@ modelを使用していたために発生しました...私の場合は、コピー&ペーストエラーです。 @modelに変更すると、修正されました。