ASP.NET MVC Beta 1 - dov'è Html.RenderPartial?
-
03-07-2019 - |
Domanda
Sono in procinto di aggiornare la mia applicazione Anteprima 5 alla Beta 1 e sono quasi lì, salvo questo errore quando provo a eseguire il rendering di un controllo:
'System.Web.Mvc.HtmlHelper' no contiene una definizione per 'RenderPartial' e nessuna estensione metodo "RenderPartial" che accetta a primo argomento di tipo 'System.Web.Mvc.HtmlHelper' potrebbe essere trovato (ti manca un utilizzo direttiva o un riferimento di assembly?)
Il mio markup (nella .aspx Visualizza contenuto pagina) è:
<% Html.RenderPartial("Controls/UserForm", ViewData); %>
Ho provato a utilizzare Microsoft.Web.Mvc ma senza risultati. Qualcuno sa dove è andato Html.RenderPartial o quale alternativa potrei usare?
Soluzione
E inoltre, non dimenticare di aggiungere spazi dei nomi come di seguito alla configurazione web, penso che l'anteprima 5 web.config predefinito non contenga 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>
Altri suggerimenti
Ora risolto - il conflitto era una differenza nei requisiti Web.config tra l'anteprima 5 e la Beta 1. È necessario aggiungere quanto segue al nodo degli assiemi di compilazione system.web:
<add assembly="System.Web.Mvc, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
Dopo questa modifica, tutti i miei vecchi metodi HtmlHelper sono tornati magicamente!
Oltre ad aggiungere il riferimento all'assembly, ho dovuto aggiungere anche la linea
<add namespace="System.Web.Mvc.Html"/>"
alla sezione pagine / spazi dei nomi nel file web.config.