Mam model podobny do tego:
public class SampleModel
{
public Product Product { get; set; }
}
W moim kontrolerze pojawia się wyjątek podczas próby wydrukowania
@Html.TextBoxFor(p => p.Product.Name)
To jest błąd:
Exception: An expression tree may not contain a dynamic operation
Jeśli ktoś może dać mi wskazówki, jak to naprawić, byłbym naprawdę wdzięczny!
asp.net-mvc
.net-4.0
razor
femseks
źródło
źródło
Odpowiedzi:
Wydaje mi się, że masz nietypowy widok. Domyślnie widoki Razor w MVC3 RC są wpisywane jako
dynamic
. Jednak wyrażenia lambda nie obsługują dynamicznych elementów członkowskich. Musisz mocno wpisać swój model. W górnej części pliku widoku dodajźródło
Typowy błąd, który jest tego przyczyną, występuje podczas dodawania
u góry strony zamiast
źródło
W tym linku wyjaśnij @model, zobacz fragment:
źródło
Wygląda na to, że Twój widok jest wpisany
dynamic
. Ustaw odpowiedni typ w widoku, a zobaczysz, że błąd zniknie.źródło
Przed użyciem (zdecydowanie wpisz pomocnika html w widoku) ten wiersz
Powinieneś dołączyć swój model do swojej strony, aby utworzyć widok silnego typu.
źródło
Ten błąd przydarzył mi się, ponieważ miałem model @@ zamiast @model ... błąd kopiowania i wklejania w moim przypadku. Zmiana na @model naprawiła to za mnie.
źródło
Na vb.net musisz napisać @ModelType.
źródło