2010-04-24 4 views
2

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

3

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.

+0

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

+1

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

Questions connexes