9
votes

Problème reconnaissant les aides HTML dans ASP.NET MVC 3 RAZOR

C'est ce que mon aide HTML ressemble à: xxx

J'ai essayé de l'utiliser dans cette vue: xxx

Ça me donne ceci ERREUR:

CS1061: 'System.Web.mvc.htmlHelper ' ne contient pas de définition pour 'generatecaptcha' et aucune méthode d'extension 'generatecaptcha' acceptant un premier argument de type 'system.web.mvc.htmlhelper ' pourrait être trouvé (utilisez-vous une directive ou une référence d'assemblage?)

Que Est-ce que je fais mal. Mes espaces de noms sont corrects. Il ne se présente pas dans l'intellisense pour @html


0 commentaires

4 Réponses :


17
votes

Vous pouvez ajouter: xxx pré>

sur le dessus de votre vue de rasoir. p>

Et si vous souhaitez réutiliser cette aide parmi de nombreuses vues différentes pour éviter d'ajouter l'utilisation de la clause à chaque fois que vous pouvez l'ajouter à la section code> de la section ~ / Vues / web.config code> Fichier: P>

<system.web.webPages.razor>
    <host factoryType="System.Web.Mvc.MvcWebRazorHostFactory, System.Web.Mvc, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
    <pages pageBaseType="System.Web.Mvc.WebViewPage">
        <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="WebApp.WebUI" />
        </namespaces>
    </pages>
</system.web.webPages.razor>


2 commentaires

Je suis censé pouvoir ajouter l'espace de noms dans les et ne pas utiliser @ user webapp.webui non?


Avez-vous déjà eu de chance pour que cela fonctionne pour travailler sans l'utilisation de la directive localement dans la vue Razor? Cela fonctionne pour moi, mais je ne peux toujours pas l'obtenir pour travailler à l'échelle mondiale (sans @OUSUX et juste le @html. ).



2
votes

Comme Darin dit mais, afin de l'utiliser globalement, vous devez probablement l'ajouter à la section ~ / Vues / Web.Config et ~ / web.config.


0 commentaires

1
votes

Pour que les aides HTML fonctionnent à l'échelle mondiale, suivez la réponse de Darin Dimitrov. Une fois que cela est fait, fermez la vue .cshtml et le rouvrez-le, l'intellisense commence à travailler.

Référence: RAZOR - MVC 3 - Espace de noms à web.config Works mais IntelliSense ne reconnaît pas l'extension


0 commentaires

0
votes

Pour moi, j'utilisais NopCommerce et je devais ajouter l'instruction Utilisation de l'instruction @ @OUTULTOWB.Framework.security.Captcha


0 commentaires