[ASP2] Problème WebControl et affichage dans le Designer
smoitry
Messages postés69Date d'inscriptionvendredi 27 décembre 2002StatutMembreDernière intervention26 juillet 2007
-
4 mai 2006 à 08:54
thebenjiman
Messages postés1Date d'inscriptionsamedi 17 juin 2006StatutMembreDernière intervention15 janvier 2008
-
15 janv. 2008 à 15:45
Bonjour,
J'ai un problème que je n'arrive pas à résoudre depuis 3 jours : j'ai créé un WebControl dont le but est de m'afficher un cadre dans la page contenant une liste de liens. Je l'ai appelé LinkBox, et je le peuple d'une liste de LinkBoxItem, contenant chacun un titre, une url, un target (frame destination) et une description. Afin de pouvoir peupler la liste dans le code source de la page, je souhaite pouvoir include des objets LinkBoxItem entre les balises de l'objet LinkBox, comme on peuplerait une ListBox ...
Et enfin le code source du LinkBoxControlBuilder :
using System;
using System.Collections.Generic;
using System.Text;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
namespace WebControlLibrary1
{
public
class
LinkBoxControlBuilder :
ControlBuilder
{
public
override
Type GetChildControlType(
string tagName, System.Collections.
IDictionary attribs)
{
if (tagName.ToLower() ==
"linkboxitem")
return
typeof(
LinkBoxItem);
return
null;
}
}
}
<HR>
Exemple d'utilisation :
<SMWeb:LinkBox
ID="LinkBox1"
runat="server"
Text="Ceci est un petit texte descriptif de la boite ..." Title="Titre de la boite">
<SMWeb:LinkBoxItem
Target="_blank"
Desc=""
Title="Site 1"
Url="http://www.site1.com/"></SMWeb:LinkBoxItem>
<SMWeb:LinkBoxItem
Target="_blank"
Desc=""
Title="Site 2"
Url="http://www.site2.com/"></SMWeb:LinkBoxItem>
<SMWeb:LinkBoxItem
Target="_blank"
Desc="le meilleur !"
Title="Site 3" Url="http://www.site3.com/"></SMWeb:LinkBoxItem>
</SMWeb:LinkBox>
A l'exécution, cela donne l'affichage suivant :
Ce qui est exactement le comportement souhaité (ok la feuille de style n'est pas appliquée pour le moment mais là n'est pas le problème ...)
Mon problème, c'est que dans le designer, j'obtiens ça :
Et ça c'est pas normal ...
Avant, je mettais "ParseChildren(false)" au niveau du WebControl, et du coup il ne lisait pas les tags des éléments LinkBoxItem, par contre j'arrivais à peupler la propriété Items via la fenêtre propriétés de Visual Studio, cependant, il ne rajoutait pas les tags dans le code source de la page, ce qui fait qu'une fois rechargé la fenêtre, la liste était vide ...
Vous constaterez que j'utilisais au début une List<LinkBoxItem> que j'ai temporairement remplacé par une ArrayList pensant que c'était le seul type que pouvait utiliser ASP.NET via l'attribut ParseChildren ...
Qu'est ce que j'ai fait faux ? Juste un oubli quelque part ou est-ce que je n'ai rien compris à la méthode en ASP.NET ?
Pour info j'ai fait un paquet d'ASP classique et j'ai sauté l'étape ASP.NET 1.x ...
smoitry
Messages postés69Date d'inscriptionvendredi 27 décembre 2002StatutMembreDernière intervention26 juillet 2007 4 mai 2006 à 09:46
Mince, je croyais que les images seraient uploadées vers le site ... Je viens de voir qu'il a mis un lien vers [file:///etc file:///etc]... donc bon comme j'ai pas de possibilité de les mettre sur le net depuis le bureau, je les décris :
Première image montre qu'à l'exécution, tout est ok : le titre, en dessous la description, suivie d'une liste de liens.
Deuxième image :
Une infâme boite grise ala Visual Studio avec écrit dedans :
Erreur lors de la création du contrôle - LinkBox1
Impossible de définir 'SMWeb:LinkBox' pour la propriété 'Items'.
gummel
Messages postés1Date d'inscriptionvendredi 18 août 2006StatutMembreDernière intervention18 août 2006 18 août 2006 à 11:46
slt ca fait plusieurs moi que je cherche moi aussi à faire
ce genre de chose la, bon je suis pas dutout développeur donc je suis mal barré,
mais je cherche sur le net si il existe des box ou des codes qui existe déjà.
donc t'a projet m'intéresse beaucoup, je voulais savoir si tu avais réussi, et
si je pouvais voir ton site, et voir a koi cela ressemblais!!
Si tu veu me contacté gummel49@gmail.com
merci encore
et bon courage pour ton projet
Vous n’avez pas trouvé la réponse que vous recherchez ?