Je construis un site Web ASP.Net MVC. Plutôt que de tout avoir dans un projet, j'ai décidé de séparer le Web, le Modèle et le Contrôleur en différents projets dans la même solution, qui se réfèrent les uns aux autres.Pourquoi mes extensions HtmlHelper ne fonctionnent-elles pas?
Le référencement va comme ceci:
Web --- [références] ---> Contrôleur --- [références] ---> Modèle
Maintenant, je voulais ajouter 2 méthodes personnalisées à la classe HtmlHelper - elles sont appelées "IncludeScript" et "IncludeStyle". Ils prennent chacun un paramètre de chaîne unique et génèrent respectivement un script ou une balise de liaison.
J'ai créé une classe d'extension, selon la documentation sur le Web, et écrit les deux méthodes et compilé l'application.
Maintenant, quand je vais dans la page Public.Master (qui est mon principal maître page, et l'un des endroits où je l'intention d'utiliser ces méthodes), je peux entrer un code tel que ci-dessous:
<%= Html.IncludeScript("\js\jquery.js") %>
L'IntelliSense reprend et la méthode IncludeScript et me montre la syntaxe très bien. Donc, je m'attendrais à ce que tout fonctionne.
Mais ce n'est pas le cas.
Tout compile, mais dès que je lance l'application, je reçois l'erreur d'exécution suivante de la ligne 14 de Default.aspx.cs:
c:\\Projects\\PhoneReel\\PhoneReel.Web\\Views\\Shared\\Public.Master(11): error CS0117: 'System.Web.Mvc.HtmlHelper' does not contain a definition for 'IncludeScript'
Voici la ligne de code que la erreur se produit sur:
httpHandler.ProcessRequest(HttpContext.Current);
Toutes les idées que pourrait aller mal ici?
Pourriez-vous coller le code de script Include et le projet dans lequel il est présent? – Ramesh