2010-11-29 5 views
6

J'écris un formulaire d'administration pour certains objets assez complexes. C'est un répéteur standard qui affiche des informations «de base» (nom, identifiant, etc.) pour chaque rangée d'objets.La meilleure façon de stocker des données sur le côté client - ASP.Net + JQuery

En cliquant sur 'Modifier' pour une ligne, vous l'agrandissez (en utilisant JQuery) pour révéler l'horreur totale de tous les objets modifiables associés. L'une d'entre elles est une liste de documents associés à chaque ligne et doit être modifiable par JQuery afin que l'utilisateur puisse cliquer sur 'edit' pour ouvrir la ligne entière, puis désélectionner/cocher les cases pour désassocier les documents puis cliquer sur 'Save 'persister tout.

Actuellement, j'utilise des répéteurs imbriqués pour stocker les champs initialement masqués - le répéteur génère un champ de formulaire caché contenant une liste d'ID séparés par des virgules pour les documents assoc. Quand il s'agit de peupler l'interface d'édition, je fais une opération de partage sur la chaîne délimitée et j'accepte/désactive les cases comme requis. Ceci s'avère être un cauchemar du point de vue de la maintenabilité et dans mes errances frustrées du Web à la recherche d'une solution j'ai remarqué que JQuery a une certaine fonctionnalité pour agir comme une base de données côté client. Quelqu'un a-t-il une expérience à ce sujet, et si oui, le recommanderiez-vous? Mon JS personnalisé pour analyser les chaînes CSV et construire dynamiquement le GUI commence à me réduire un peu.

Merci à l'avance,

5arx

Répondre

4

Votre entrer dans le domaine du comportement latéral client très avancé, et sont heurtant un phénomène que je pense que beaucoup de développeurs Web Forms frappé. Essayer d'écraser deux paradigmes l'un dans l'autre. Sans entrer dans les détails, mon conseil serait d'adopter une approche «Pure AJAX» pour résoudre vos problèmes de client. Le schéma de base est la suivante:

Vous pouvez implémenter les éléments JSON mais vous vous sentez le mieux adapté à vos besoins, mais dans ASP.Net vous avez deux possibilités:

  1. WCF
  2. Page Methods

Il va probablement impliquer une ré-architecturer de votre part, mais si vous voulez atteindre vraiment agréable comportement côté client vous vont devoir mordre la balle et juste le faire.

+0

@Josh - Merci pour la réponse rapide. Malheureusement, je suis limité en termes de technologie (asp.net 1.1) sur celui-ci, donc il va falloir qu'il soit une sorte de solution brute, roulée à la main :-( J'ai jeté un oeil à la JQuery méthodes de données - elles semblent ne permettre que le stockage de valeurs uniques codées, donc pas bon pour mes besoins de données en plusieurs parties – 5arx

+1

@ 5arx - 1.1 n'est pas une perte totale.Vous pouvez toujours implémenter un HttpHandler personnalisé pour retourner une réponse JSON. Ce ne sera pas beau, mais cela fera le travail, et vous permettra de travailler avec la fonctionnalité côté client que jQuery offre: – Josh

+0

@Josh - cheers, je vais y jeter un coup d'œil. d'un problème cependant si cela va prendre trop de temps pour entrer dans JSON je pourrais avoir à implémenter cela dans un formulaire web standard :-( – 5arx

Questions connexes