2009-08-17 10 views
0

Il s'agit d'une question relative à la manière dont les personnes gèrent une situation dans l'interface utilisateur d'une application Web. J'ai une page qui est affichée lorsqu'un utilisateur veut créer/modifier un objet parent. Il a quelques attributs liés à cet objet Parent, ainsi qu'un bouton Enregistrer pour que le parent puisse être sauvegardé. Chaque objet parent a une collection d'objets d'enfants (affiché dans une grille sur la même page), et sur ce même écran, l'utilisateur peut ajouter/modifier/supprimer des objets d'enfants, semblable à ce qui suit:Enregistrement/modification des informations parent et enfant sur la même page Web

Parent Information: 

ParentName: [textbox] 
ParentDate: [datepicker] 

Children Information: 

ChildName  ChildDate  Delete 
[textbox]  [datepicker] [button] 
[textbox]  [datepicker] [button] 
[textbox]  [datepicker] [button] 

[Add Child button] 

[Save button] [Cancel button] 

Notez que Je veux vraiment n'avoir que des boutons quand j'en ai besoin: un bouton Enregistrer (pour les gouverner tous!). Je suis en train de permettre le scénario suivant lorsque l'utilisateur crée ou la modification d'un objet parent:

  1. L'utilisateur modifie les informations parent (rien enregistré sur la base de données encore)
  2. L'utilisateur ajoute/modifie/supprime les objets enfants (rien enregistré sur la base de données encore)
  3. L'utilisateur clique sur Enregistrer (et tous les parents et renseignements sur l'enfant est enregistré)

à travers toutes sortes de fantaisie trucs AJAX-ish je peux y arriver sans page est actualisée, mais je suis enregistrer tous les changements intermédiaires dans le s de l'utilisateur ession sur le serveur web à chaque fois entre temps. Par exemple: l'utilisateur clique sur le bouton "Ajouter" (pour ajouter un nouvel objet enfant), donc je vais dans la session, récupère l'objet parent que j'avais déjà placé et ajoute un nouvel enfant à la collection d'objets enfants, puis lie cette au datalist. La prochaine fois que le bouton "Ajouter" est cliqué, je dois sauvegarder les modifications que l'utilisateur a apportées à la première entrée enfant dans l'objet que j'ai récupéré de la session et répéter le processus.

Est-ce fou? Peut-être que j'essaie de forcer "état" sur une application web "sans état" et ne devrait pas le faire. Je comprends le concept de l'édition par ligne dans une grille, mais cela semble stupide pour les petits écrans où il y a quelques informations pour le Parent, un couple pour chaque Enfant, et il y a beaucoup de clics supplémentaires pour l'utilisateur .

Je pense que cette question est indépendante de la technologie, mais juste au cas où vous auriez besoin de savoir qu'il s'agit d'une application Web ASP.NET.

Répondre

0

J'ai déjà fait ce genre de travail de génération de formulaire dynamique, et j'ai tendance à ne sauvegarder aucune entrée de l'utilisateur dans la session. Bien sûr, je demanderai au serveur de poser des questions sur un objet, mais je ne m'attendrais pas à ce que le serveur enregistre les informations d'état tant que je ne serai pas prêt à publier le formulaire.

Je ne pense pas que vous êtes fou, vous utilisez un formulaire dynamique et c'est OK!

+0

Merci beaucoup pour votre aide! –

Questions connexes