2010-01-18 22 views
1
#Html.RenderPartial(MVC.Shared.Views._Sorter); 

plaids error =>T4MVC renderPartial et Spark vues

Il n'y a aucun fournisseur de construction enregistré pour l'extension '.spark'. Vous pouvez en enregistrer un dans la section dans machine.config ou web.config. Assurez-vous que l'attribut BuildProviderAppliesToAttribute inclut la valeur "Web" ou "All".

Description: Une exception non gérée s'est produite lors de l'exécution de la requête Web en cours. Veuillez consulter la trace de la pile pour plus d'informations sur l'erreur et son origine dans le code.

Détails de l'exception: System.Web.HttpException: aucun fournisseur de build n'est enregistré pour l'extension '.spark'. Vous pouvez en enregistrer un dans la section dans machine.config ou web.config. Assurez-vous que l'attribut BuildProviderAppliesToAttribute inclut la valeur "Web" ou "All".

Une idée de ce qui pourrait être faux?


L'ajout de ce à web.config => system.web => compilation

<buildProviders> 
    <add extension=".spark" type="System.Web.Compilation.PageBuildProvider" /> 
    </buildProviders> 

app Forces pour construire vue étincelle webforms voir et produit ${Something.something} tout autour. Alors - quel est l'équivalent pour le viewengine à étincelles?

+0

Je voudrais également poser cette question sur le forum T4MVC (http://forums.asp.net/1215.aspx) où le créateur, David Ebbo fréquente et répond généralement assez rapidement. –

Répondre

2

Pouvez-vous s'il vous plaît essayer d'apporter la modification suivante à T4MVT.tt. Dans la méthode ViewsFolderInfo.AddView, changer la ligne:

Views[viewFieldName] = GetVirtualPath(item); 

à

Views[viewFieldName] = viewFieldName; 

Si cela fonctionne bien, nous pouvons simplement ajouter un commutateur au fichier de paramètres qui le rend le faire au lieu de la valeur par défaut chemin complet. Laissez-moi savoir comment ça se passe!


Notez que MVC.Shared.Views._Sorter est simplement une constante avec le chemin d'accès à la vue. Si vous deviez écrire ce code sans T4MVC, quelle chaîne exacte y passeriez-vous?

Peut-être que Spark a des exigences différentes dans le type de chemins de vue qu'il accepte ici? Si nécessaire, nous pouvons modifier T4MVC pour que cela fonctionne, mais je voudrais d'abord comprendre le comportement de Spark en dehors de T4MVC.

+0

Problème est - je ne sais pas pourquoi exactement cela fonctionne comme ça, quelle étincelle attend. Le nom de vue Pure "_Sorter" (sans chemin relatif) fonctionne. Je n'ai pas vérifié si c'est la même chose en utilisant viewengine de formulaires Web. Dans le cas où vous modifiez quelque chose, il serait bien que cela soit fait comme un enchantement progressif (en utilisant ce chemin relatif à d'autres fins pour le moment avec succès (voir les identifiants pour les tests d'interface utilisateur)). –

+1

Le problème avec simplement passer "_Sorter" est que cela ne fonctionne pas si l'appel provient d'un contrôleur différent. Je vais discuter avec les gens de Spark pour voir ce qu'ils suggèrent. –

+1

Eh bien, j'ai posté une question sur http://groups.google.com/group/spark-dev/browse_thread/thread/b296e29e490eb5ee?hl=fr, mais personne n'a répondu. Peut-être que T4MVC a besoin d'une option pour générer uniquement des noms de vue simples. –