ASP.NET MVC Beta 1 - onde é Html.RenderPartial?
-
03-07-2019 - |
Pergunta
Eu sou apenas no processo de atualizar meu aplicativo de visualização 5 a Beta 1, e estou quase lá, exceto por esse erro uma ao tentar processar um controle:
'System.Web.Mvc.HtmlHelper' não contém uma definição para 'RenderPartial' e nenhuma extensão método 'RenderPartial' aceitar um primeiro argumento do tipo 'System.Web.Mvc.HtmlHelper' poderia ser encontrado (faltam um usando diretiva ou uma referência assembly?)
Meu marcação (no aspx Ver conteúdo da página) é:
<% Html.RenderPartial("Controls/UserForm", ViewData); %>
Eu tentei usar Microsoft.Web.Mvc mas sem sucesso. Alguém sabe onde Html.RenderPartial se foi, ou que alternativa eu ??poderia usar?
Solução
E também não se esqueça de adicionar namespaces como abaixo para a configuração web, eu acho que faz pré-visualização 5 padrão web.config não tem System.Web.Mvc.Html nele:
<namespaces>
<add namespace="System.Web.Mvc"/>
<add namespace="System.Web.Mvc.Ajax"/>
<add namespace="System.Web.Mvc.Html"/>
<add namespace="System.Web.Routing"/>
<add namespace="System.Linq"/>
<add namespace="System.Collections.Generic"/>
</namespaces>
Outras dicas
Agora fixo - o conflito era uma diferença nos requisitos Web.config entre Preview 5 e Beta 1. As seguintes necessidades a ser adicionado no nó assembleias de compilação system.web:
<add assembly="System.Web.Mvc, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
Após esta alteração, todos os meus métodos HtmlHelper velhos magicamente voltou!
Além de adicionar a referência do assembly Eu também tive que adicionar a linha
<add namespace="System.Web.Mvc.Html"/>"
para as páginas / seção de namespaces no arquivo web.config.