J'ai essayé d'exécuter ASP.NET MVC 1.0 sur une machine, mais je ne peux pas passer cela. Je crée un nouveau projet MVC (C #). Il crée tous les dossiers, vues, contrôleurs, modèles, etc. tous les bien. Ensuite, quand je frappe F5, je reçois ce qui suit: p>
D: \ vscode2008 \ mvc \ mvcapplication1 \ vues \ Shared \ Site.master (19): Erreur CS0117: 'System.Web.MVC.htmlHelper' ne contient pas de définition pour 'RenderPartial' P>
Cela se produit à la ligne suivante: p>
httphandler.processrequest (httpcontext.current); dans Il semble quand il essaie de faire un rendupartiale () pour rendre la connexion partielle. P>
J'ai la version 3.51 de .NET Framework installé. J'ai installé la version 1.0 de MVC, et l'Assemblée a clairement le rendupartiale () comme méthodes d'extension de HTMLHelper. p>
Quelqu'un a-t-il vu quelque chose de similaire? J'ai trouvé des postes sur des problèmes similaires avec les bêta et les RCS, mais les corrections suggérées n'ont pas été peinées. P>
J'aimerais la théorie de MVC, mais cela ne me laisse pas jouer! p>
6 Réponses :
Essayer simplement d'exclure l'évidence ici, mais pouvez-vous vous assurer que cela dans la section des espaces de noms du web.config?
Oui - merci - a obtenu cela dans Web config (il y a 2 web.configs, un au niveau du projet et un sous vues)
J'avais besoin d'ajouter cela à l'aide de cet espace de noms et il a corrigé mon erreur. System.web.mvc.html doit contenir des extensions sur la classe HTMLHELPER
Plus spécifiquement, cela peut être trouvé sous System.Web / pages / espaces de noms
C'était ça! Je n'avais pas réalisé mon web.config fut collé.
Selon votre message d'erreur, vous vous référez SYSTEM.WEB.MVC.HTMLHELPER CODE>. Je regarde le system.web.mvc code> DLL dans le réflecteur, et il me dit que renderpartial code> réside dans l'espace de noms system.web.mvc.html Code>, pas system.web.mvc.htmlHelper code>. p>
Merci Robert, j'ai eu un look et je vois la même chose. J'ai oublié de mentionner que lorsque j'exécute le projet (ou tout projet Web ASP.NET), il se plaint d'une section non protégée dans web.config - System.codesdom. Je pense peut-être que mon VS2008 a besoin de mettre à jour - bien que je pensais installé SP1, cela ne ressemble pas à ce qu'il y ait.
Essayé SP1 - pas de solution. Renistalled vs2008 - pas de solution. Je pense qu'une nouvelle image peut être l'option la plus rapide ici ...
Merci, Robert. Était vraiment utile
Vous pouvez penser que c'est idiot, mais je viens d'avoir le même problème. J'ai eu une application MVC active, en cours d'exécution 1.0.0.0 et tout d'un coup, il a cessé de travailler en me donnant le même rendeur. Eh bien, il s'avère que pendant que je devais nettoyer ma web.config, j'ai supprimé cette section. Quand je l'ai ré-ajouté, tout a fonctionné à nouveau. Je suis sûr que cela a quelque chose à voir avec la charge des extensions de la classe pendant l'exécution.
Quoi qu'il en soit, re-ajouter cela à mon web.config travaillé sur ma machine. ;) p>
Aha! Je viens de faire exactement la même chose! Doh!
Puisque vous le référenciez dans votre code derrière (c.-à-d. Default.aspx.cs), vous devez inclure l'espace de noms en haut du fichier. P>
est l'espace de noms qui inclut la méthode d'extension rendue. P>
Un autre problème possible (selon votre chaîne d'erreur) est que la méthode d'extension est présente, mais que le compilateur n'a pas pu correspondre à vos paramètres aux paramètres de la méthode connus. J'ai couru dans cela en utilisant T4MVC (noob) et oublier d'ajouter des noms d'action avant le nom de l'action que j'appelle. P>
Si vous avez migré vers Visual Studio 2017 ou 2019 et votre projet est MVC4, revenez dans Visual Studio Installer et vérifiez l'option MVC4 sous le «Développement ASP.NET et Web». P>
a résolu mon problème. P>