net aspx asp asp.net-mvc html-helper renderpartial

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>