Razor View Engine : An expression tree may not contain a dynamic operation
I have a model similar to this:
public class SampleModel
{
public Product Product { get; set; }
}
And in my controller I get an exception trying to print out
@Html.TextBoxFor(p => p.Product.Name)
This is the error:
Exception: An expression tree may not contain a dynamic operation
If anyone can give me some clues on how to fix this I would really appreciate it!
Solution 1:
It seems to me that you have an untyped view. By default, Razor views in MVC3 RC are typed as dynamic
. However, lambdas do not support dynamic members. You have to strongly type your model. At the top of your view file add
@model SampleModel
Solution 2:
A common error that is the cause of this is when you add
@Model SampleModel
at the top of the page instead of
@model SampleModel
Solution 3:
In this link explain about @model, see a excerpt:
@model
(lowercase "m") is a reserved keyword in Razor views to declare the model type at the top of your view. You have put the namespace too, e.g.:@model MyNamespace.Models.MyModel
Later in the file, you can reference the attribute you want with
@Model.Attribute
(uppercase "M").
Solution 4:
Seems like your view is typed dynamic
. Set the right type on the view and you'll see the error go away.