ASP.NET MVC Beta 1: ¿dónde está Html.RenderPartial?
-
03-07-2019 - |
Pregunta
Estoy en el proceso de actualizar mi aplicación Preview 5 a Beta 1, y casi estoy ahorrando por este error al intentar representar un control:
'System.Web.Mvc.HtmlHelper' no lo hace contiene una definición para 'RenderPartial' y sin extensión Método 'RenderPartial' aceptando un primer argumento de tipo 'System.Web.Mvc.HtmlHelper' podría ser encontrado (¿estás perdiendo un uso directiva o una referencia de montaje?)
Mi marca (en la .aspx Ver página de contenido) es:
<% Html.RenderPartial("Controls/UserForm", ViewData); %>
He intentado usar Microsoft.Web.Mvc pero fue en vano. ¿Alguien sabe dónde ha ido Html.RenderPartial o qué alternativa podría usar?
Solución
Y tampoco olvide agregar espacios de nombres como abajo a la configuración web, creo que la vista previa 5 web.config no tiene System.Web.Mvc.Html:
<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>
Otros consejos
Se corrigió: el conflicto era una diferencia en los requisitos de configuración de Web entre Preview 5 y Beta 1. Es necesario agregar lo siguiente en el nodo de ensamblados de compilación system.web:
<add assembly="System.Web.Mvc, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
Después de este cambio, ¡todos mis viejos métodos HtmlHelper regresaron mágicamente!
Además de agregar la referencia del ensamblaje, también tuve que agregar la línea
<add namespace="System.Web.Mvc.Html"/>"
a la sección de páginas / espacios de nombres en el archivo web.config.