aspx - ASP.NET MVC Beta 1: ¿dónde está Html.RenderPartial?
render partial view (3)
Solo estoy en el proceso de actualizar mi aplicación Vista previa 5 a Beta 1, y estoy a punto de salvarme de este error al intentar renderizar un control:
''System.Web.Mvc.HtmlHelper'' no contiene una definición para ''RenderPartial'' y no se puede encontrar ningún método de extensión ''RenderPartial'' que acepte un primer argumento de tipo ''System.Web.Mvc.HtmlHelper'' (¿falta una directiva de uso? o una referencia de montaje?)
Mi marcado (en la página de contenido View de .aspx) es:
<% Html.RenderPartial("Controls/UserForm", ViewData); %>
Intenté usar Microsoft.Web.Mvc pero fue en vano. ¿Alguien sabe dónde se ha ido Html.RenderPartial, o qué alternativa podría usar?
Además de agregar la referencia de 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.
Ahora corregido: el conflicto fue una diferencia en los requisitos de Web.config entre la Vista previa 5 y la Beta 1. Se debe agregar lo siguiente en el nodo 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 de HtmlHelper volvieron mágicamente!
Y también no olvide agregar espacios de nombres como a continuación a la configuración web, creo que la vista previa 5 predeterminada web.config no tiene System.Web.Mvc.Html en ella:
<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>