У меня есть модель, похожая на эту:
public class SampleModel
{
public Product Product { get; set; }
}
И в моем контроллере я получаю исключение, пытаясь распечатать
@Html.TextBoxFor(p => p.Product.Name)
Это ошибка:
Exception: An expression tree may not contain a dynamic operation
Если кто-нибудь может подсказать мне, как это исправить, я был бы очень признателен!
asp.net-mvc
.net-4.0
razor
femseks
источник
источник
Ответы:
Мне кажется, что у вас нетипизированное представление. По умолчанию Razor-представления в MVC3 RC печатаются как
dynamic
. Однако лямбды не поддерживают динамические члены. Вы должны строго ввести свою модель. Вверху вашего просмотра добавить файлисточник
Распространенная ошибка, которая является причиной этого, когда вы добавляете
в верхней части страницы вместо
источник
В этой ссылке рассказывается о @model, см. Выдержку:
источник
Похоже, ваше мнение набрано
dynamic
. Установите правильный тип в представлении, и вы увидите, что ошибка исчезнет.источник
Перед использованием (строго введите html helper)
Вы должны включить свою модель в свою страницу для создания строго типизированного представления.
источник
Эта ошибка произошла со мной, потому что у меня была @@ model вместо @model ... ошибка копирования и вставки в моем случае. Изменение в @model исправило это для меня.
источник
На vb.net вы должны написать @ModelType.
источник