2009-06-12 7 views
2

J'ai une application ASP.NET MVC que je construis et j'utilise une page maître. Sur cette page maître, je voudrais encore casser les choses en créant un fichier séparé pour "Tabs", "Header" et "Footer".Quel élément dois-je créer dans ASP.NET MVC si je souhaite diviser une vue en sous-vues plus petites?

Quel type de vue dois-je créer pour encapsuler ces éléments pour aider à supprimer l'encombrement de ma page maître? De même, comment puis-je les référencer au bon endroit dans ma vue principale afin que je puisse les rendre correctement?

Il existe plusieurs types d'options disponibles pour créer des vues/vues de contenu/contrôles utilisateur, etc. pour MVC et j'ai besoin de savoir quelle est la bonne pour cette tâche et comment l'utiliser.

+0

Il y a des contrôles utilisateur dans MVC ?? – rball

+2

@rball, il y a. – KingNestor

Répondre

3

Si vous utilisez Vues WebForms alors vous avez 3 options:

Vues partielles/Contrôles Utilisateur:

Utilisation Html.RenderPartial (je pense qu'il est la meilleure méthode pour créer des onglets dans ASP. NET MVC 1.0 pour aujourd'hui). Votre balisage sera à la recherche comme:

<% Html.RenderPartial(ViewData["TabName"], ViewData["TabData"]); %> 

emboîtées MasterPages:

  • Site.master avec ContentPlaceHolders pour le contenu, en-tête, Sidebars, Pied de page ...
  • Tabs.master avec ContentPlaceHolder pour Onglets dans le <asp:Content ContentPlaceHolderID="Content" >
  • Beaucoup de Tab1.aspx ... TabN.aspx pour les onglets.

extensions HtmlHelper:

Vous pouvez utiliser (je pense qu'il est mauvais sens pour créer des onglets) quelque chose comme ceci:

<% if(ViewData["TabName"] = "Tab1") { %> 
    <%= Html.Tab1() %> 
<% } else if(ViewData["TabName"] = "Tab2") { %> 
    <%= Html.Tab2() %> 
<% } else ... 
... 
... 
... 
0

Avez-vous déjà considéré Usercontrols/Vues partielles ?? Edit: Si c'est juste html, vous pouvez écrire des fichiers html et le rendre en utilisant des méthodes auxiliaires.

+0

Sont-ils un dans le même? La vue partielle n'est pas une option pour moi et j'ai lu que les gens suggèrent de ne pas utiliser les contrôles utilisateur. Donc, je cherche vraiment plus d'une opinion. – KingNestor

+1

De http://blog.wekeroad.com/blog/aspnet-mvc-using-usercontrols-usefully/ et http://bradwilson.typepad.com/blog/2008/08/partial-renderi.html. Je pense qu'ils sont 95% sinon 100% même – Perpetualcoder

+0

Pourquoi les vues partielles ne sont-elles pas une option ici? –

Questions connexes