No ASP.NET MVC encontro um erro de tipo incorreto ao renderizar um controle de usuário com o objeto digitado correto
-
08-06-2019 - |
Pergunta
Encontro um erro do formulário:"O item de modelo passado para o dicionário é do tipo FooViewData, mas este dicionário requer um item de modelo do tipo bar", embora eu esteja passando um objeto do tipo correto (barra) para o controle de usuário digitado.
Solução
O que @MattMitchell disse é provavelmente o motivo pelo qual você está vendo esse erro.
Se você quer saber por que;isso ocorre porque quando você passa null como o parâmetro controlData ao usar RenderUserControl(), a estrutura tentará passar os dados de visualização do contexto de visualização atual para o controle do usuário (consulte o método UserControlExtensions.DoRendering em System.Web.Mvc).
Outras dicas
O que provavelmente aconteceu é que o objeto fornecido ao renderizar o controle do usuário é na verdade nulo.