Programmation HTML dans une classe en C# pour webpart

avillenave Messages postés 26 Date d'inscription mardi 6 janvier 2004 Statut Membre Dernière intervention 28 novembre 2007 - 11 juil. 2007 à 10:43
avillenave Messages postés 26 Date d'inscription mardi 6 janvier 2004 Statut Membre Dernière intervention 28 novembre 2007 - 11 juil. 2007 à 15:53
Bonjour,
Je suis en train de créer une web part.

Ma web part se compose de deux zone

La premier est une liste de 5 elements (j'ai mis ça ds une DropDownList en attendant de faire mieux)
Dans la deuxieme zone, il y a un autre dropdownlist ou un truc du genre où je choisi entre deux type de valeur (formulaire ou document) ainsi qu'un un tableau de resultats (enfin il faudrait que j'arrive à en mettre un) où j'affiche une liste de document et ses informations.

En clair, je choisi le domaine qui m'interesse (zone 1) puis je choisi entre les deux types de documents (la deuxieme petite dropdownlist)

Le problème est que quand je change de valeur ds ma DropDownList il ne se passe rien. Rien ne s'affiche en dessous

Je déclare mes objets que je veux insérer
privateDropDownList ddp = new DropDownList();
privateHtmlGenericControl div_zone2_WP = new HtmlGenericControl("div");
privateHtmlGenericControl div_zone1_WP = new HtmlGenericControl("div");

protected override void OnInit(EventArgs e)
{
try
{
//création de deux zones
//zone 1

Je declare l'évenement de la dropdownlist
ddp.SelectedIndexChanged += new EventHandler(ddp_SelectedIndexChanged);

J'insere mes valeurs ds la dropdownlist
ddp.Items.Add("Valeur1");
ddp.Items.Add("Valeur2");
ddp.Items.Add("Valeur3");
ddp.Items.Add("Valeur4");
ddp.Items.Add("Valeur5");

J'ajoute ma dropdownlist dans la zone 1
div_zone1_WP.Controls.Add(ddp);

J'ajoute la zone 1 ds la page web
this.Controls.Add(div_zone1_WP);

//zone 2
div_zone2_WP.ID = "divZone2";

Petit test pour voir si la zone 2 apparait (aucun pb)
div_zone2_WP.InnerText = "Test Micro";

J'ajoute la zone 2 ds la page web
this.Controls.Add(div_zone2_WP);

}
catch (Exception ex)
{
Label Error = new Label();
Error.Text = ex.ToString();
this.Controls.Add(Error);
}

base.OnInit(e);
}

// Voici l'evenement qui ne marche pas du tout car quand je change lma valeur ds la drop downlist il ne se passe rien
void ddp_SelectedIndexChanged(object sender, EventArgs e)
{
// afficher dans la zone 2 les documents ayant l'etat de suivi sélectionné dans la zone 2
J'ai essayé d'ajouter un label et mm de changer le text dans la zone 2 mais rien ne amrche
HtmlGenericControl div_zone22_WP = new HtmlGenericControl("label");
div_zone2_WP.InnerText = "Test bizarre " + ddp.SelectedIndex.ToString();
div_zone22_WP.InnerText = "rocky";
J'essaye de les insérer mais comme je l'ai dit rien ne se passe
div_zone2_WP.Controls.Add(div_zone22_WP);
this.Controls.Add(div_zone2_WP);

}

Voilà à quoi ressemble mon code. Je n'ai pas encore traité la recupération des infos à afficher dans le tableau mais j'arrive mm pas à faire l'interface de depart dc bon....
Pourriez vous m'aider :
<li>Pour faire marcher l'evenement pour que quand je choisi une valeur ds ma dropdownlist il se passe quelque chose</li><li>Pour intégrer le tableau dans la zone 2 (ça je pense avoir une idée : div_zone2_WP.Controls.Add(...) mais je veux bien un conseil sachant que je vais aller chercher les infos ds un fichier xml;Quel est le meilleur tableau approprié pour ce type de données...</li><li>Il y a peut être mieux que la dropdownlist pour permettre le choix. Si vous avez une autre idée....</li><li>Et me donner votre cerveau pour que j'arrive enfin à m'en sortir un peu tt seul</li>Merci & Bonne journée

  Arnaud

2 réponses

avillenave Messages postés 26 Date d'inscription mardi 6 janvier 2004 Statut Membre Dernière intervention 28 novembre 2007
11 juil. 2007 à 11:47
Il semblerait que pour mon tableau ce serait intéressant que je fasse l'affichage en javascript. La fonction Innertext semblerait faire un affichage dynamique de mes données que je vias chercher ds mon fichier xml...
Dc dans mon code c#, je dois ecrire du javascript pour l'insérer ds la page html. Connaissez vous la syntaxe pr insérer comme ça du text ds la page html car jusque là je n'ai fait que des Controls.Add(...)
0
avillenave Messages postés 26 Date d'inscription mardi 6 janvier 2004 Statut Membre Dernière intervention 28 novembre 2007
11 juil. 2007 à 15:53
Pour que ma DropDownList (ddp) marche, il faut activé l'autoPOstBack et l'évènement marche ensuite ^^


ddp.AutoPostBack = true;
0
Rejoignez-nous