Question

Existe-t-il un moyen standard de convertir un fichier XSD en un formulaire de saisie (ASP.NET C #) afin que, chaque fois qu'un nouveau champ est ajouté / supprimé du fichier XSD, le champ de la page s'affiche ou disparaisse automatiquement, est-ce quelque chose qui doit être développé en interne, je suppose qu'il doit y avoir un moyen de sérialiser / désérialiser et générer un formulaire? Toute aide serait appréciée.

Était-ce utile?

La solution

Je ne pense pas qu'il y ait quoi que ce soit construit pour rendre cela complètement automatique. Cependant, vous pouvez être assez proche. Visual Studio inclut un programme de ligne de commande appelé xsd.exe que vous pouvez utiliser pour créer automatiquement une définition de classe à partir d'un document xsd. Une fois que vous avez cette définition de classe, vous pouvez la connecter à un formulaire via un composant ObjectDataSource et un contrôle DetailsView.

Autres conseils

Hypothèse: Vous utilisez XML car il est plus simple pour vous pour le moment.

Idée: puisque vous voulez créer un formulaire pour manipuler les données, je suppose que vous serez peut-être ouvert à SQL plutôt qu’à XML. Ce n'est peut-être pas le cas, mais vous trouverez probablement plus d'outils pour vous aider si vous avez un backend de base de données au lieu d'un backend XML / XSD. (De plus, il existe des moyens de convertir vos données de l'une à l'autre).

Il existe des outils qui créent des formulaires à partir de bases de données dans ASP.NET. SubSonic, par exemple, dispose d’un module d’échafaudage automatique qui vous permet de créer un gestionnaire de base de données ne connaissant que son schéma. Si le schéma change, laissez simplement SubSonic régénérer ses fichiers et vos formulaires auront été modifiés. Ce n'est pas parfait, mais cela peut aller très loin, selon vos besoins.

Option 1) Vous pouvez créer le schéma de base de données à partir de XSD ( Comment créer des tables de base de données à partir de fichiers XSD? ) et utiliser SubSonic à partir de ce moment. Cela peut être encore plus pénible que la question initiale ... vous seul le savez.

Option 2) Modifiez l’échafaudage SubSonic pour qu’il prenne en charge votre XSD / XML sous-jacent plutôt qu’une base de données. Vous pouvez probablement réutiliser une grande partie de leur infrastructure (SubSonic est open source) pour générer le formulaire à partir d'un fichier XSD.

Bonne chance!

Eh bien, je dois dire que ObjectDataSource n’est pas une mauvaise idée, mais cela ne fonctionne pas si vous avez des éléments imbriqués. De plus, pour les éléments imbriqués, vous aurez tous les paramètres ".. .. FieldSpecified". Les champs booléens dans DetailsView également.

J'essaie toujours de comprendre comment générer un formulaire ASP.NET à l'aide d'un fichier XSD sans avoir à tout saisir, ce qui constitue un travail simpliste.

Quelqu'un a déjà rencontré ce problème?

PS: une autre approche serait d’utiliser InfoPath, mais cela nécessite un logiciel sous licence pour fonctionner en tant que formulaires Web ...

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top