2008-10-01 8 views
11

Quels sont les scénarios où MultiView serait un bon choix? Le contrôle MultiView avec ses contrôles View semblent simplement étendre la notion de panneaux.Quelle est l'utilisation appropriée pour le contrôle MultiView d'ASP.NET?

Les panneaux et les multi-vues semblent sujets à des abus. Si vos problèmes d'interface utilisateur et vos problèmes de logique biz sont correctement séparés, pourquoi regrouper les vues dans un même ASPX?

Répondre

11

J'ai utilisé MultiViews comme base plus flexible pour un contrôle Wizard. Je suis d'accord que regrouper beaucoup de vues ensemble est une odeur de code. Dans le cas d'un assistant, il y a souvent beaucoup de morceaux d'état que vous voulez partager tout au long du processus. Le multiview permet à cet état d'être simplement stocké dans viewstate.

La plupart du temps, je fais en sorte que le contenu de chaque vue soit contrôlé par un seul utilisateur afin qu'il puisse encapsuler la logique liée à cette étape particulière.

3

Je l'ai utilisé dans le passé pour implémenter une simple interface de tabulation Ajax.

Modélisez un bouton pour qu'il ressemble à un onglet, puis définissez son événement onClick pour basculer la vue active dans un panneau de mise à jour.

0

Chaque fois que vous souhaitez afficher un contenu différent sur une page en fonction de certaines conditions. Au travail, j'ai créé un contrôle de tabulation qui utilise simplement un MultiView et un autre contrôle simple que j'ai fait qui ressemble à des onglets. Chaque onglet place un lien (qui est stylé) dans l'autre commande câblée pour définir la vue active sur l'onglet correct.

0

Il peut être utile pour des choses comme des formulaires en ligne, où vous pouvez avoir une vue montrant la forme et une autre vue affichée postface avec le « merci » du texte, etc.

3

Toute situation dans laquelle vous vous trouvez basculer le l'affichage d'un ou plusieurs panneaux est un candidat idéal pour un contrôle MultiView. Un contrôle d'assistant plus basé sur un modèle, ou des formulaires maître/détail par exemple. Je suis d'accord qu'ils sont ouverts aux abus et vous devriez évaluer si vous feriez mieux de séparer votre code dans des pages distinctes avant de les utiliser. J'ai travaillé sur des projets où le développeur précédent a essayé de mettre trop sur une seule page en utilisant MultiViews et ils sont de véritables enfers avec lesquels travailler. Une chose à se méfier de MultiViews est que, contrairement aux panneaux, les contrôles de sources de données déclaratives qu'ils contiennent se lient toujours, même lorsque la vue dans laquelle ils sont contenus n'est pas active/visible.

Questions connexes