2009-07-04 5 views
5

J'utilise le moteur spark view avec mon application asp.net mvc. Dans mes pages aspx, je peux utiliser Html.Actionlink avec succès, mais lorsque je l'essaie dans des fichiers spark, il n'apparaît pas dans intellisense, et quand j'essaye de l'exécuter quand même, je reçois:Impossible d'utiliser Html.ActionLink dans les fichiers spark mvc asp.net

. c: \ Utilisateurs \ midas \ Documents \ Visual Studio 2008 \ Projets \ ChurchMVC \ ChurchMVC \ Views \ Home \ Index.spark (73,25): erreur CS1061: 'System.Web.Mvc.HtmlHelper' ne contient pas de définition pour 'ActionLink' et aucune méthode d'extension 'ActionLink' acceptant un premier argument de type 'System.Web.Mvc.HtmlHelper' n'a été trouvé (manque-t-il une directive using ou une référence d'assembly?)

J'ai un système .web.mvc référencé, et j'ai ajouté dans _global.spark. Rien de tout cela n'aide. Des idées?

Répondre

9

(Copié de la réponse de Rei Roldán dans Spark discussion group)

C'est là que les aides vivent.

<use namespace="System.Web.Mvc.Html" /> 
1

J'ai eu le même problème avec Html.ActionLink dans la disposition principale. La raison en était le codage Html automatique. Corrigé en définissant <pages automaticEncoding="false"> dans web.config ou en utilisant! {Html.ActionLink (...)} au lieu de $ {Html.ActionLink (...)}

+0

Oups! Désolé, mélangé deux articles - pas "le même problème", un autre. – ILog

4

Il est possible d'obtenir cette erreur même avec le bon Web .config en déclarant ActionLink avec de mauvais types d'arguments.

Exemple:

<%= Html.ActionLink(1, "bar") %> 

Erreur:

Compiler Error Message: CS1928: 'System.Web.Mvc.HtmlHelper<Approval.WebSite.ViewsModels.HomeIndexPage>' does not contain a definition for 'ActionLink' and the best extension method overload 'System.Web.Mvc.Html.LinkExtensions.ActionLink(System.Web.Mvc.HtmlHelper, string, string)' has some invalid arguments 

Bien que cela fonctionne:

<%= Html.ActionLink("foo", "bar") %> 

donc vérifier votre balisage aussi bien.