Je trouve que la répétition des ensembles de contrôles pour chacun des modèles EditItemTemplate, InsertItemTemplate et ItemTemplate d'un FormView est fastidieuse et risquée, en termes de duplication de disposition et de code, etc. Je préfère créer un contrôle utilisateur xxxDetails, et utilisez-le dans chaque modèle, en découpant la mise en page et l'emplacement du code en un seul endroit. Cependant, ceci introduit plusieurs complexités pour les scénarios de liaison de données. Existe-t-il des modèles ou des guides de pratique élaborés pour l'utilisation des contrôles utilisateur dans ces scénarios?Utilisation des contrôles utilisateur dans les modèles FormView
Répondre
Microsoft vient d'ajouter un très bon support pour cela dans ASP.NET 4.0. C'est ce qu'on appelle DynamicData. Ils ont ajouté des méthodes sur tous les contrôles de données appelés EnableDynamicData(type)
. Il existe des modèles par défaut inclus dans ASP.NET, mais vous pouvez créer les vôtres.
Pour utiliser des modèles personnalisés, ajoutez simplement un répertoire DynamicData/Templates dans votre dossier. A l'intérieur, vous pouvez ajouter des vues de type insérer et éditer des modèles pour tous vos types de données. Les modèles par défaut ont des validateurs intégrés, ce qui en fait un excellent point de départ!
Voici un échantillon que j'ai mis ensemble pour using custom controls in DynamicData templates. J'ai utilisé un curseur pour l'édition des entiers, et CurrencyInput pour l'argent etc ...
Si vous pouvez utiliser ASP.NET 4.0, je vous recommande fortement de le faire. En outre, même si vous ne le pouvez pas, vous pouvez toujours utiliser les modèles prédéfinis comme guide.
- 1. ASP.NET MVP - Utilisation des contrôles utilisateur
- 2. Utilisation des collections génériques utilisateur Silverlight Contrôles
- 3. jQuery, trouver des contrôles dans les modèles
- 4. Remplacer FormView Modèles
- 5. Utilisation des rappels AJAX avec les contrôles utilisateur ASP.NET
- 6. Utilisation des contrôles utilisateur d'autres projets dans ASP
- 7. Utilisation des contrôles utilisateur Web au lieu de Web Forms
- 8. Lors de l'utilisation de FormView avec des modèles, est-il possible de référencer les contrôles de manière statique?
- 9. ViewState, FormView et Controls
- 10. Ajouter les contrôles au panneau après FormView insérer aide
- 11. Les contrôles de pagination Formview ne s'affichent pas
- 12. WebForms: Pourquoi utiliser les contrôles GridView, DetailsView, FormView, Repeater, DataList?
- 13. Comment puis-je obtenir le mode conception pour les contrôles utilisateur basés sur des modèles?
- 14. La liaison de données bidirectionnelle de contrôles dans un contrôle utilisateur imbriqué dans un FormView ne fonctionne pas
- 15. FormView to Excel - Comment extraire les données des contrôles dans un modèle pour les placer dans des cellules
- 16. Techniques de distribution des contrôles utilisateur ASP.NET dans les projets
- 17. Comment faire des propriétés paramétrables dans les contrôles utilisateur WPF?
- 18. Tableau rempli de contrôles à l'intérieur d'un ASP.NET FormView, obtenir des contrôles?
- 19. contenu Nesting dans les contrôles utilisateur
- 20. Utilisation de déclarations dans des modèles C++?
- 21. Utilisation des propriétés python dans les modèles django?
- 22. Utilisation des paramètres de Django dans les modèles
- 23. liste des contrôles avec des modèles dans silverlight
- 24. Contrôles de modèles dynamiques
- 25. Utilisation de param dans les modèles XSLT
- 26. ASP.NET 2.0: User-Control dans un FormView doit enregistrer des données utilisateur (pour les mannequins;))
- 27. ASP.NET - Répétiteur de contrôles utilisateur
- 28. Modèles de contrôle utilisateur
- 29. L'enregistrement des contrôles utilisateur dans web.config indique une erreur, mais les contrôles fonctionnent quand même
- 30. partage des contrôles utilisateur Web entre projets
J'aime les données dynamiques, et il a été autour depuis avant ASP.NET 4.0, mais cela ne résout pas mon problème. Vous parlez de modèles de pages, je parle des modèles FormView éventuellement utilisés sur les modèles de page. – ProfK
Non, je parle des modèles utilisés dans les éléments FormView. Ceci est une nouvelle fonctionnalité WebForms ajoutée dans ASP.NET 4.0. Ce n'est pas le DynamicData que vous envisagez de 3.5 (qui est des modèles de page). S'il vous plaît exécuter l'échantillon pour voir ce que je suggère. Vous pouvez l'utiliser dans des projets d'application Web et des projets de site Web! Je pense que vous trouverez vraiment utile. Son seul but était de résoudre le problème que vous avez soulevé: trop de copier-coller et trop d'abus de TemplateItems. – Banzor