Це не має нічого спільного з анонімними типами, що мають внутрішні властивості
Цілком можливо передати анонімні типи від подання до часткового перегляду
Я зіткнувся з тією ж проблемою і сьогодні, і це було нічого спільного з проблемою передачі анонімних типів та властивих їм internal
властивостей.
Таким чином, стосовно питання про ОП, відповідь від @Lucas не має значення - навіть незважаючи на те, що вирішення буде працювати .
У питанні щодо ОП анонімний тип передається від погляду в складі X до часткового в складі X , тому проблема, що Девід Еббо окреслив властивості, які є внутрішніми для анонімних типів, не має жодного наслідку; типи, складені для перегляду, частковий і анонімний тип, містяться в одній збірці .
Отже, що викликає раптову невдачу анонімного типу з погляду на часткове?
Принаймні в моїй ситуації я виявив, що це пов'язано з тим, що інший вид у ПОДІЛЬНІЙ папці визначає тип моделі, який неможливо вирішити . Перегляди збираються під час виконання, і тому це мало б сенс, оскільки невдача під час виконання компіляції переглядів також означала б невдачу складати динамічні типи, а часткова просто отримала б object
. Не відразу зрозуміло, що відбувається, але в конкретному прикладі ОП (і в моєму) це більш ніж ймовірно причина проблеми.
Цікаво зауважити, що якщо тип моделі правильний, але інша частина представлення не складається, то анонімні типи не впливають однаково. Це повинно зводитися до того, як Razor розбиває динамічну компіляцію на складові частини подання.
Після виправлення образливого вигляду або переобладнайте все рішення, або очистіть і відновіть проект, перш ніж перевірити, чи він виправлений.
Щоб переконатися, що вас це знову не зачепило, ви можете увімкнути компіляцію переглядів Razor за часом, додавши це у свій csproj
файл:
<PropertyGroup>
<MvcBuildViews>true</MvcBuildViews>
</PropertyGroup>