ASP.NET MVC Beta 1 - où se trouve Html.RenderPartial?
-
03-07-2019 - |
Question
Je suis en train de mettre à niveau mon application Preview 5 vers la version Bêta 1 et j'y suis presque sauf pour cette erreur en essayant de rendre un contrôle:
'System.Web.Mvc.HtmlHelper' ne le fait pas contient une définition de 'RenderPartial' et aucune extension méthode 'RenderPartial' acceptant un premier argument de type 'System.Web.Mvc.HtmlHelper' pourrait être trouvé (il vous manque un utilisateur directive ou une référence d'assemblage?)
Mon marquage (dans la page de contenu .aspx View) est:
<% Html.RenderPartial("Controls/UserForm", ViewData); %>
J'ai essayé d'utiliser Microsoft.Web.Mvc mais en vain. Est-ce que quelqu'un sait où Html.RenderPartial est parti ou quelle alternative je pourrais utiliser?
La solution
Et n'oubliez pas d'ajouter des espaces de noms comme ci-dessous à la configuration Web. Je pense que l'aperçu 5 par défaut web.config ne contient pas 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>
Autres conseils
Maintenant résolu - le conflit était une différence dans les exigences de Web.config entre Preview 5 et Beta 1. Les éléments suivants doivent être ajoutés au nœud des assemblys de compilation system.web:
<add assembly="System.Web.Mvc, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
Après ce changement, toutes mes anciennes méthodes HtmlHelper sont revenues comme par magie!
En plus de l'ajout de la référence d'assemblage, j'ai également dû ajouter la ligne
<add namespace="System.Web.Mvc.Html"/>"
vers la section pages / namespaces du fichier web.config.