Je l'ai remarqué quand je le suit à mon avis:T4MVC ne supporte pas DisplayTemplates et EditorTemplates
<% Html.RenderPartial(MVC.Shared.Views.EditorTemplates.ClientOnDocuments); %>
La ligne ci-dessus retourne juste le nom de la vue, dans ce cas ClientOnDocuments
. Le moteur d'affichage par défaut entre alors dans et tente de trouver dans le dossier de la vue en cours et dans le dossier partagé, mais pas dans le dossier DisplayTemplates
et EditorTemplates
. Depuis que je suis allé assez loin avec mon utilisation de T4MVC je ne veux pas le vider ou mélanger différents styles de vues de référence (par exemple, ce qui précède fonctionne si nous fournissons le chemin vers le modèle).
La raison se trouve dans ce code qui génère T4MVC:
public class ViewNames {
...
public readonly string FirmHeader = "~/Views/Shared/FirmHeader.ascx";
public readonly string PostsSelector = "~/Views/Shared/PostsSelector.ascx";
static readonly _DisplayTemplates s_DisplayTemplates = new _DisplayTemplates();
public _DisplayTemplates DisplayTemplates { get { return s_DisplayTemplates; } }
public partial class _DisplayTemplates{
public readonly string ClientOnDocuments = "ClientOnDocuments";
public readonly string DateTime = "DateTime";
}
static readonly _EditorTemplates s_EditorTemplates = new _EditorTemplates();
public _EditorTemplates EditorTemplates { get { return s_EditorTemplates; } }
public partial class _EditorTemplates{
public readonly string ClientOnDocuments = "ClientOnDocuments";
public readonly string DateTime = "DateTime";
public readonly string PostCode = "PostCode";
}
Vous pouvez voir que le point de vue contenu dans tout racine commune est bien, mais apparemment, il ne gère pas les sous-dossiers bien.
Je sais que je pourrais changer le fichier de modèle T4MVC mais aimerais vraiment une réponse de David Ebbo sur s'il va changer/corriger ceci.
J'espère qu'il suit SO, au moins je l'ai vu ici en décembre.
ce qui serait encore mieux est d'avoir deux classes: ViewNames (qui ne contiendrait que les noms des vues) et ViewPaths, qui contiendraient les chemins, de cette façon nous aurions accès aux noms et chemins fortement typés. – mare