Non non non, j'ai dû mal m'exprimer. Le problème n'est pas le code pour utiliser le controle. En fait, le code d'origine WWStore fait exactement la même chose que dans certains modules core en vb. J'ai appliqué tes modifications, et on peut maintenant ajouter un fichier avec le filtrage des extentions lors de la création d'une fiche produit. Il fallait juste renseigner les bonnes propriétés. Mais ce n'est pas en création qu'est le vrai problème ! Lors de la modification d'une fiche, je peux facilement déduire si l'image associée est sur le site ou à l'extérieur. Je voulais donc que le bouton radio de l'UrlControl soit correctement positionné au chargement. Avec le code sivant :
if (product.ProductImage.StartsWith("http://"))
{
image1.UrlType = "U";
}
else
{
image1.UrlType = "F";
}
Mais la propriété UrlType renvoie une exception System.NullReferenceException !? C'est le seul contrôle de la page qui pose problème, tous les autres sont des contrôles standards ASP.NET et leurs propriétés sont disponibles. Dans l'événement Load on teste s'il ne s'agit pas d'un PostBack, on créé alors un contrôleur de catégories pour charger la combobox, puis on créé un contrôleur de produits pour lire les valeurs des propriétés du produit sélectionné. Elles sont ensuite transmises aux différents contrôles de la page. A cet endroit, seul le contrôle UrlControl n'accepte pas d'affectation dans ses propriétés Url et UrlType ?! Le plus dingue c'est que la propriété Url affiche l'url passée en paramètre alors qu'elle est aussi en erreur, et que FileFilter accepte sans problème une valeur!
J'ai fais pas mal de recherche sur les forums us, il semble que ce contrôle soit très largement bogué. Charles Nurse a fait aussi un post pour indiquer qu'il était en cours de réécriture complète.
Si tu as une idée, elle sera la bienvenue ! J'ai failli perdre mes cheveux sur ce problème.
Gilles