2008-12-16 8 views
0

Je devine que le code StackOverflow a quelque chose le long des lignes d'une UsersController qui définit une fonction comme ceci:Comment implémenteriez-vous la page de profil de StackOverflow dans ASP.NET MVC?

public ActionResult Profile(string id, string username, string sort) 
{ 

} 

D'après ce que je peux dire, il y a deux façons d'aller sur la mise en œuvre de la fonction de profil. L'une consiste à utiliser une instruction switch sur le paramètre de tri et à afficher une vue différente en fonction de ce qui est affiché (par exemple, les statistiques, les réponses récentes). Ces vues permettraient alors à un utilisateur de contrôler partiellement l'affichage de la moitié supérieure de la page de profil (gravatar, nom d'utilisateur, dernière vue, etc.). L'autre façon dont je pourrais voir l'implémentation de ceci serait de toujours rendre une vue et avoir la logique pour montrer/cacher ses différentes sections basées sur le tri. Cela conduirait à une page de vue assez monstrueuse, mais cela devrait aussi fonctionner.

Existe-t-il d'autres façons d'implémenter la page de profil StackOverflow qui me manque? La raison pour laquelle je demande est parce que ma page ASP.NET MVC actuelle a une page de profil similaire et je veux m'assurer que je ne vais pas à ce sujet dans le mauvais sens.

Répondre

1

Personnellement, je créerais une action et une vue pour chaque section d'onglet et utiliserais une vue partielle pour la partie supérieure partagée entre les autres. Je commence juste avec MVC, donc je n'ai pas beaucoup d'expérience pour sauvegarder cette suggestion.

Le schéma d'itinéraire d'URL que j'utiliserais est/{contrôleur}/{id}/{section} par ex./utilisateurs/123/récents/utilisateurs/123/réponses, etc.

0

Vous pouvez construire le nom de vue de la valeur de tri

<% RenderPartial(sort + "View") %> 

Cependant, il ne fait pas défaut de retour aux stats voir si le paramètre doesn Je n'existe pas, donc je ne pense pas qu'ils le font.

Un commutateur sur le tri fonctionnerait probablement très bien avec la valeur par défaut sur le commutateur revenant à la vue de statistiques.

Questions connexes