Custom user control collection

Soyez le premier à donner votre avis sur cette source.

Vue 7 165 fois - Téléchargée 389 fois

Description

Le but de Custom user control est de pouvoir afficher un ou plusieurs messages suivant :
- la culture du client (CulturesInclude / CulturesExclude)
- la date du jour (DisplayFrom / DisplayTo)

La culture peut etre sous la forme "fr" ou "fr-CA"

Source / Exemple :


'Pour l'utiliser on fait :

<cc1:LocalizedView ID="LocalizedView1" runat="server">
  <cc1:MessageTemplate ID="MessageTemplate1" runat="server" CulturesInclude="fr" CulturesExclude="fr-CA" DisplayFrom="01/01/2008" DisplayTo="01/01/2009">
                Message pour les navigateur fr sauf fr-CA affiché du 01/01/2008 jusqu'au 01/01/2009
  </cc1:MessageTemplate>
  <cc1:MessageTemplate ID="MessageTemplate2" runat="server">
                Message toujours affiché
  </cc1:MessageTemplate>
</cc1:LocalizedView>

Conclusion :


En developpant ce composant j aurai appris comment fonctionne une collection dans un Custom User Control

L'affichage dans le designer est même géré !

J'attends vos commentaires

Codes Sources

A voir également

Ajouter un commentaire

Commentaires

ranouf
Messages postés
237
Date d'inscription
mercredi 18 décembre 2002
Statut
Membre
Dernière intervention
31 août 2009
-
Question judicieuse, pour l instant sa principale utilité est de regroupé tous les messageTemplate dans un control unique, mais a terme, on pourra mettre des conditions globales pour l ensemble des messages templates.

De plus je voulais montrer comment utiliser les collection de templates dans un userControl, choses que je n avais pas réussi a trouver ailleurs sur le net.
jesusonline
Messages postés
6827
Date d'inscription
dimanche 15 décembre 2002
Statut
Modérateur
Dernière intervention
13 octobre 2010
16 -
Je prefere avoir le code de traitement dans le render. Je trouva ca plus logique, cela évite que le code de traitement soit fait plusieurs fois, le Render est forcément fait une seule fois, de plus tous le framework .net fait ainsi.

Si le contrôle peut afficher 2 templates en même temps je ne vois plus l'interet du LocalizedView ? J'ai loupé quelque chose ou alors il est inutile ? :)
ranouf
Messages postés
237
Date d'inscription
mercredi 18 décembre 2002
Statut
Membre
Dernière intervention
31 août 2009
-
"Actuellement il semble possible d'afficher 2 templates différents ?"
=> Oui c le but, pouvoir afficher différent messages suivant la culture et la date, on pourrait par exemple avoir plusieurs offres promotionnelles en meme temps.

"Par contre pourquoi ne pas avoir mis le code de l'affichage (ou non) du contrôle dans le Render ? plutot que dans les setter des property ?"
=> Je ne sais pas ce qui est le mieux au niveau propreté du code, je suis plutot un adepte de faire les opérations au moment ou je set les property, vaut il mieux faire ca au moment du render ?

"A la place d'un String pour le CulturesInclude et CulturesExclude ca pourrait être sympa d'avoir un tableau de String. Idem plutot que d'avoir un String (ou un String[]) il serait sympa d'avoir un CultureInfo (ou CultureInfo[])"
=> Oui trés bonne idée, je la note, je ferai peut etre ca dans une mise a jour.

Merci pour ton aide
jesusonline
Messages postés
6827
Date d'inscription
dimanche 15 décembre 2002
Statut
Modérateur
Dernière intervention
13 octobre 2010
16 -
L'idée est interessante, la réalisation est simple et propre => joli travail :)

Par contre pourquoi ne pas avoir mis le code de l'affichage (ou non) du contrôle dans le Render ? plutot que dans les setter des property ?
Je ne suis pas sur d'avoir compris l'utilité du contrôle LocalizedView ? D'après ce que j'ai lu des sources, il ne fait que contenir des MessageTemplate rien de plus ? Il aurait été interessant que le LocalizedView ne permette d'afficher qu'un seul des MessageTemplate. Actuellement il semble possible d'afficher 2 templates différents ?

Idées pour compléter le contrôle : A la place d'un String pour le CulturesInclude et CulturesExclude ca pourrait être sympa d'avoir un tableau de String. Idem plutot que d'avoir un String (ou un String[]) il serait sympa d'avoir un CultureInfo (ou CultureInfo[])

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.