2009-06-16 11 views
0

Je travaille sur une couche de gestion pour une application Web complexe et j'utilise temporairement la fonctionnalité Dynamic Data Site pour permettre la saisie de données dans les nombreuses tables que je dois gérer. Je ne veux pas passer trop de temps sur ce DDS puisque la couche de gestion doit être terminée en premier. Une fois la couche de gestion terminée, elle est envoyée à quelqu'un d'autre pour ajouter une meilleure interface utilisateur.Ajout de "Exporter vers XML" au site de données dynamique

Cependant, alors que le DDS offre beaucoup de fonctionnalités très facilement, je veux juste l'étendre avec un bouton ou un lien "Exporter vers XML". (Et je vais probablement ajouter un bouton "Exporter vers Excel" plus tard.)

Alors, est-ce que quelqu'un a déjà fait quelque chose comme ça? Quel serait le moyen le plus simple d'implémenter ceci dans .NET, sans réécrire le DDS?

(J'utilise un modèle Entity pour la connexion à la base de données et une grande partie de la couche de gestion est construite sur ce modèle d'entité.Lorsque la couche de gestion est terminée, l'interface graphique réelle sera développée pour cette application web. besoin d'un bon moyen d'entrée/sortie de ces données.)


Je n'ai aucun problème à convertir un ensemble d'entités en XML. C'est la partie facile. Mon problème réside dans l'expansion "ListDetails.aspx" avec un bouton supplémentaire sur lequel l'utilisateur peut cliquer. Une fois cliqué, il devrait exporter l'ensemble de données au format XML. Pour le rendre intéressant, si l'utilisateur a défini un ou plusieurs filtres, il doit uniquement exporter ces enregistrements filtrés. Je pense que je vais devoir regarder dans l'objet "GridDataSource" qui est sur cette page et expérimenter avec lui. Va-t-il renvoyer toute la table ou seulement l'ensemble de données filtré? Ou juste les enregistrements qui sont sur la page en cours?


Maintenant, avec l'exportation, je veux juste une sauvegarde de l'ensemble de données au format XML. Fondamentalement, ce que vous voyez devrait se retrouver dans le XML final. Si j'ai accès à l'ensemble de données filtré, alors créer le XML serait facile. (Et la création de la feuille Excel en plus de cela est un morceau de gâteau aussi.) En général, l'exportation est juste utilisée pour aider à développer la couche de gestion d'un projet sur lequel je travaille. La plus grande partie du code est une logique métier qui sera utilisée dans d'autres applications client (Web/Bureau) mais tant que le projet est en cours, le DDS est nécessaire pour faciliter la saisie de données pour le projet. Une fois que c'est fini (un milliard d'années à partir de maintenant, je suppose), alors le DDS ne sera plus utilisé. Nous n'utiliserions pas non plus les exportations XML ou les feuilles d'exportation. Mais pour l'instant, ces exportations sont utiles pour évaluer les données. (Puisque je dois encore développer les outils d'analyse plus complexes.)

+0

Ah, c'est une question beaucoup plus intéressante (et beaucoup moins générique). Vous n'avez toujours pas défini "export". Irritant j'ai un travail de jour à faire. – Murph

+0

L'exportation n'est pas difficile. Juste le jeu de données filtré lui-même, rien de plus. Je peux faire les choses XML moi-même mais mon problème est de trouver l'accès à l'ensemble de données filtré qui est utilisé pour configurer la page. –

Répondre

0

Ceci est assez simple, vous avez à répondre à deux questions:

  • Fournir un moyen pour déclencher l'exportation
  • Génération du XML
  • Rendre le XML disponible (en tant que lien) pour le téléchargement - en supposant que c'est ce que vous voulez faire.

Il existe une alternative légèrement moins directe qui consiste à créer un service pour générer et renvoyer le code XML. En ce qui concerne le premier, rien ne vous empêche de modifier la page maître ou la page par défaut pour ajouter votre propre fonction, à savoir un bouton ou un lien vers une page XML.En termes de la seconde - Linq rend presque trivial pour générer XML à partir de votre modèle Entity. Une fois que vous avez votre XML, vous avez différentes options, la clé ici est que vous pouvez ajouter vos propres pages sur le site si vous voulez - la magie dans Dynamic Data est simplement un point de départ pas la finale produit (bien que s'il fait tout ce dont vous avez besoin alors vous pouvez repartir avec un sourire sur votre visage). Je comprends que ce sont des réponses génériques mais c'est une question assez générique et les détails de la mise en œuvre seraient mieux traités par des pages plus spécifiques. En termes de spécifique, j'ai un site de données Dyanmic qui a besoin de générer du XML, la première itération était simplement un bouton sur la page par défaut qui sauvegardait un fichier sur le disque (un nom de fichier, un format de fichier, un clic, gen , save, done). La raison du XML était que les données source d'un autre site, j'ai donc ajouté un service WCF qui expose le même XML. Le temps total passé (moins de temps pour se familiariser avec le WCF) est probablement inférieur à une demi-journée - la plus grande partie de ce temps a été consacrée à jouer avec la sortie XML.

+0

Je ne comprends pas comment cela répond à la question. "Linq le rend presque trivial"? Impressionnant. COMMENT? –

+0

Juste par curiosité, que savez-vous a) des données dynamiques et b) Linq? – Murph

Questions connexes