2009-04-08 7 views
1

Voici mon scénario et je voudrais vous demander quel est le meilleur contrôle à utiliser. J'utilise C#, ASP.net 2.0.Conseils de contrôle Web pour mon scénario

Je dois créer une structure qui ressemble à un arbre. L'utilisateur commencera par quelque chose et y ajoutera des nœuds. Chaque nœud est une structure à part entière, un utilisateur doit donc avoir l'option de créer un nouveau type de nœud ou d'utiliser un type existant de nœud.

Le choix évident ici semble TreeView. Cependant, j'ai peu de soucis: 1) On m'a demandé de réduire au minimum le nombre de voyages de nouveau au serveur Web, et je ne suis pas sûr comment cela fonctionnerait avec TreeView.

2) Si je finis par utiliser TreeView, créer un nouveau type de noeud (actuellement c'est un .ascx (contrôle utilisateur)) pourrait être difficile à traiter, car j'aurais besoin d'ouvrir une nouvelle fenêtre et de retourner le noeud id et nom à la page parente (qui contient TreeView) lors de la création du type de noeud et le mettre sans le mettre à jour.

Des recommandations?

Répondre

1

Vous pouvez regarder dans le Treeview de JQuery

http://docs.jquery.com/Plugins/Treeview/treeview#options

cette façon, vous pouvez mettre à jour l'arborescence du côté client, et lorsque l'utilisateur obtient tout fonctionne au besoin, puis soumettre l'état de l'arbre.

JQuery pour .Net http://jquerydotnet.codeplex.com/

+0

Puis-je créer des noeuds sur le serveur avec elle? Ce dont j'ai particulièrement besoin, c'est de pouvoir créer un nouveau type de nœud (avec un contrôle serveur existant), puis passer l'identifiant et le nom à la page contenant TreeView, puis mettre à jour TreeView du côté client. – sarsnake

+0

Quand vous dites "créer des noeuds sur le serveur", qu'est-ce que cela signifie exactement? En fin de compte, vous ne devriez vous soucier de passer un userid et l'état des noeuds comme ils les ont définis. – madcolor

+0

Chaque noeud déclenchera l'ouverture d'une nouvelle fenêtre, avec le serveur GridView dans lequel les utilisateurs peuvent créer un nouveau type de noeud et l'enregistrer dans la base de données. Une fois cette fenêtre fermée, je devrais être capable de passer l'identifiant et le nom du nœud à l'arborescence. – sarsnake