В ASP.NET MVC я сталкиваюсь с ошибкой неправильного типа при отображении пользовательского элемента управления с правильным типизированным объектом.
-
08-06-2019 - |
Вопрос
Я столкнулся с ошибкой вида:«Элемент модели, переданный в словарь, имеет тип FooViewData, но для этого словаря требуется элемент модели типа bar», хотя я передаю объект правильного типа (bar) для типизированного пользовательского элемента управления.
Решение
То, что сказал @MattMitchell, вероятно, является причиной того, что вы видите эту ошибку.
Если вы хотите знать почему;это связано с тем, что когда вы передаете значение null в качестве параметра controlData при использовании RenderUserControl(), платформа вместо этого попытается передать данные представления из текущего контекста представления в пользовательский элемент управления (см. метод UserControlExtensions.DoRendering в System.Web.Mvc).
Другие советы
Вероятно, произошло то, что объект, предоставленный при отрисовке пользовательского элемента управления, на самом деле имеет значение null.