Entiendo por varias otras preguntas relacionadas here y here entre otras, que no puede pasar objetos tipeados anónimamente desde el controlador a la vista porque los tipos anónimos se definen con el acceso interno . La vista y el código del controlador se compilan en diferentes montajes de manera de intentar usarlo como resultado de este error ...Pasar objetos anónimos desde una vista a una vista parcial
objeto no contiene una definición para 'foo'
Eso está muy bien y que pueda acepta eso, aunque fue molesto al principio. Hay suficientes soluciones sugeridas para apaciguarme.
Sin embargo, pensé que todavía podría pasar un tipo anónimo desde una vista a una vista parcial porque, al ser vistas, se compilarían en el mismo ensamblaje.
Razor Ver código ...
@Html.Partial("Partial1", new { foo = "Something", bar = "Something else" })
y el código de la vista parcial para "parcial1"
@model dynamic
<h1>@Model.foo</h1>
<span>@Model.bar</span>
Lo curioso es que este trabajaba en el comienzo de un desarrollo en una nuevo proyecto de MVC, pero a medida que agregué más vistas simplemente dejó de funcionar y ahora me da el mismo error que mencioné anteriormente.
Es como si hubiera alcanzado un umbral donde la vista y la vista parcial ya no se compilan en el mismo conjunto. Pero solo estoy adivinando.
Me pregunto si alguien puede arrojar algo de luz sobre esto.
He tenido exactamente este problema. La dinámica funcionaba con parciales, y de repente se detenía. –
Nunca descubrí por qué. Tuve que dejar de usar tipos dinámicos. Debido a que había una solución tan simple que no podía justificar más tiempo dedicado a investigarla –
¡Estoy teniendo exactamente el mismo problema! ¿Alguien ha encontrado una explicación todavía? –