Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Big probleme

27 réponses
Avatar
Jean Claude
Bonjour

dans une appli web, je veux connaitre la valeur du node cliqué sur un
treeview
mon code :
LeChoix=String.format(SiteMap.CurrentNode.Title)
Je suis obligé de cliquer 2 fois pour avoir le node selectionné
au premier clic j'obtiens le node parent

Comment faire ?
je suis dans une vrai galère
merci pour vos réponse
Cordialement
J Claude

7 réponses

1 2 3
Avatar
Jean Claude
Bonjour Patrice

J'ai tout refait, nouveau projet avec page master et plan site
et cela ne marche pas.
Le siteMapPath indique bien le noeud
mais mon label ne l'indique pas

Je suis complétement paumé

Jean Claude
"Patrice" <http://www.chez.com/scribe/> a écrit dans le message de news:
OgmrX%
Je veux dire dans le fichier XML, un attribut est une "propriété" d'une
balise XML. J'ai donc actuellement (merci d'utiliser copier/coller, cela
permet d'avoir le texte exact et de ne pas se prendre la tête sur des
erreurs de recopie) :
<siteMap xmlns="http://schemas.microsoft.com/AspNet/SiteMap-File-1.0" >

<siteMapNode title="Catalogue" roles="*">

<siteMapNode url="FrmCatalogue.aspx?id=1" title="A" />

<siteMapNode url="FrmCatalogue.aspx?id=2" title="B" />

</siteMapNode>

</siteMap>

(noter que titre est remplacé par title, que le s est en miniscule etc...)

Et cela marche donc chez moi !

Rien à voir avec le sujet mais sinon SiteMapNode est une classe, donc dans
le code "intellisense" ne présente effectivement que les méthode" shared"
qui permettent de comparer deux instances (Equals et ReferenceEquals).

Par contre SiteMap.CurrentNode qui est une instance de la classe
SiteMapNode expose une propriété Title dont la valeur est tirée de
l'attribut Title présent dans le fichier XML.



Si cela ne marche toujours pas. Je ne vois guère comme dernière solution
de poster un fichier .ZIP prêt à l'emploi contenant UNIQUEMENT le code le
plus simple permettant de reproduire le problème avec le fichier SiteMap
(par exemple est-ce que du code présent ailleurs ne pourrait pas également
modifier ce label ou cette variable de session ?).

--

Patrice

"Jean Claude" a écrit dans le message de
news: 472610ab$0$27383$

je n'ai pas oublié le >, c'est une erreur de copie

par contre avec SiteMapNode il n'y a pas d'attribut titre, il y a Equals
ou ReferenceEquals


"Patrice" <http://www.chez.com/scribe/> a écrit dans le message de news:
%
Il manque un > en fin de première ligne.

XML est sensible à la casse et c'est donc siteMapNode. L'attribut titre
serait plutôt title.

Avec ces modifications cela continue de fonctionner chez moi (je
récupére l'url avec id=1 ou 2 selon que je clique sur le titre A ou B).

--
Patrice

"Jean Claude" a écrit dans le message
de news: 47260140$0$5087$
Mon siteMape :

<SiteMapNode url="" titre="Catalogue" roles="*"
<SiteMapNode url="FrmCatalogue.aspx?id=1"
titre="A" />
<SiteMapNode url="FrmCatalogue.aspx?id=2"
titre="B" />

......................
"Patrice" <http://www.chez.com/scribe/> a écrit dans le message de
news: %
Donc je dirais que le problème vient des données en provenance du
sitemap. Vérifier que ces données sont bien correctes ?

--
Patrice

"Jean Claude" a écrit dans le message
de news: 4725e3be$0$5089$
Si je déconnecte le treeview des données et j'ajoute A et B comme
dans le code posté précédemment... Le label affiche A ou B en
fonction du noeud cliqué

"Patrice" <http://www.chez.com/scribe/> a écrit dans le message de
news: e%
Cela marche chez moi (avec donc le OnSelectedNodeChanged) !! Le
problème pourrait-il être dans les données (par exemple value serait
incorrecte à la base dans les données) ou dans l'exploitation
ultérieure de la variable de session Choix ?

Déconnecte le treeview des données et ajoute A et B comme dans le
code que j'ai posté précédemment... Le label affiche t'il bien A ou
B en fonction du noeud cliqué ou une autre valeur ?

--
Patrice



"Jean Claude" a écrit dans le
message de news: 4725d1bf$0$5086$
Patrice, voici mon code (sur la page maitre):

Sub Select_Change(ByVal sender As Object, ByVal e As EventArgs)

lblChoix.Text = "Votre sélection: " & Tvw.SelectedNode.Value

Session("Choix")=Tvw.SelectedNode.Value

End Sub







<asp:TreeView ID="Tvw" runat="server"

OnSelectedNodeChanged="Select_Change"

DataSourceID="sdsPlanSite" ImageSet="Arrows">

</asp:TreeView>

<asp:SiteMapDataSource ID="sdsPlanSite" runat="server"
ShowStartingNode="true" />





"Patrice" <http://www.chez.com/scribe/> a écrit dans le message de
news: u%
Humm... Visiblement y a comme un problème (tvw c'est bien le
treeview qui est affiché par exemple). Je recréerais une page pour
tester voir ce que ça donne.

Bonne continuation.

--
Patrice

"Jean Claude" a écrit dans le
message de news: 4725c4f0$0$25953$
Merci Patrice pour ton aide

sur la master page j'ai ajouté
Protected Sub Tvw_SelectedNodeChanged(ByVal sender As Object,
ByVal e
As System.EventArgs) Handles Tvw.SelectedNodeChanged
Dim LeChoix as string=""
LeChoix = Tvw.SelectedNode.Value
End Sub

Quand je teste la page avec F11 il saute cette procédure


"Patrice" <http://www.chez.com/scribe/> a écrit dans le message
de news:
A titre informatif cela devrait donner quelque chose comme :
Protected Sub TreeView1_SelectedNodeChanged(ByVal sender As
Object, ByVal e As System.EventArgs) Handles
TreeView1.SelectedNodeChanged

TextBox1.Text = TreeView1.SelectedNode.Value

End Sub

Protected Sub Page_Load(ByVal sender As Object, ByVal e As
System.EventArgs) Handles Me.Load

If Not Page.IsPostBack Then

TreeView1.Nodes.Add(New TreeNode("A"))

TreeView1.Nodes.Add(New TreeNode("B"))

End If

End Sub

End Class



avec une Textbox et un treeview. Quand je clique je vois bien la
valeur que je viens de cliquer dans ma textbox.
Vérifier-peut-être du côté de la requête qui n'utiliserait pas
la bonne donnée ???



"Patrice" <http://www.chez.com/scribe/> a écrit dans le message
de news:
A ce stade je suggère :
- faire un test le plus simple possible avec une page master et
une page contenu pour tester si tu as toujours le problème

Si non, comparer avec la page original devrait permettre de
trouver les différences et le problème. Si oui, tu pourras
poster le code le plus simple possible qui montre le problème
pour que l'on puisse éventuellement voir ce qui ne va pas...

Bon courage.

--
Patrice

"Jean Claude" a écrit dans le
message de news: 4725b252$0$5096$
Bonjour Patrice

Oui c'est quand je click sur le treeview

Jean Claude
"Patrice" <http://www.chez.com/scribe/> a écrit dans le
message de news: O$
C'est-à-dire ? Est-ce dans l'évènement click du treeview ?

A mon avis c'est un problème de logique. Une page n'existe
que le temps de la requête HTTP. A chaque fois, la page est
donc recrée dans son étét précédent (grâce au "view state")
avant que les données envoyées au serveur soient utilisées
pour mettre à jour la page.

Je pense que l'état du contrôle est lu trop tôt ce qui
retourne donc la valeur précédente...

Cf
http://msdn2.microsoft.com/fr-fr/library/ms178472(VS.80).aspx

---
Patrice

"Jean Claude" a écrit dans
le message de news:
4721df16$0$27401$
Bonjour Patrice

Mon treeview est sur une master page, et cette information
est récupérée sur celle-ci
je veux utiliser la variable LeChoix sur la page envoyée par
le clic du treeview.

Quand je lance l'appli je suis sur la page accueuil
je clic sur le treeview pour afficher la page page1
et j'ai besoin de la variable LeChoix pour lancer une
requete sur la page1 (LeChoix est le where de ma requete)
hors LeChoix est égal à "Accueil"" alors que je voudrais
qu'il soit "Page1"

J Claude

"Patrice" <http://www.chez.com/scribe/> a écrit dans le
message de news:
Dans quel évènement cette information est-elle récupérée ?
--
Patrice

"Jean Claude" a écrit dans
le message de news:
4721b1d8$0$27393$
Bonjour

dans une appli web, je veux connaitre la valeur du node
cliqué sur un treeview
mon code :
LeChoix=String.format(SiteMap.CurrentNode.Title)
Je suis obligé de cliquer 2 fois pour avoir le node
selectionné
au premier clic j'obtiens le node parent

Comment faire ?
je suis dans une vrai galère
merci pour vos réponse
Cordialement
J Claude



































































Avatar
Patrice
Certers mais que constates tu exactement ? Je ne sais que dire d'autre. Chez
moi je suis incapable de reproduire ton problème :

Le site map est :
<?xml version="1.0" encoding="utf-8" ?>

<siteMap xmlns="http://schemas.microsoft.com/AspNet/SiteMap-File-1.0" >

<siteMapNode title="Catalogue" roles="*">

<siteMapNode url="FrmCatalogue.aspx?id=1" title="A" />

<siteMapNode url="FrmCatalogue.aspx?id=2" title="B" />

</siteMapNode>

</siteMap>



Le code de la page master est :

Protected Sub Select_Change(ByVal sender As Object, ByVal e As
System.EventArgs)

Label1.Text = TreeView1.SelectedNode.Value

End Sub

et le balisage :

<%@ Master Language="VB" CodeFile="MasterPage.master.vb"
Inherits="MasterPage" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >

<head runat="server">

<title>Page sans titre</title>

</head>

<body>

<form id="form1" runat="server">

<div>

<asp:TreeView ID="TreeView1" runat="server"
OnSelectedNodeChanged="Select_Change" DataSourceID="SiteMapDataSource1">

<DataBindings>

<asp:TreeNodeBinding DataMember="SiteMapNode" TextField="Title"
ValueField="Url"/>

</DataBindings>

</asp:TreeView>

<asp:SiteMapDataSource ID="SiteMapDataSource1" runat="server" />

<asp:Label ID="Label1" runat="server"></asp:Label>

<asp:contentplaceholder id="ContentPlaceHolder1" runat="server">

</asp:contentplaceholder>

</div>

</form>

</body>

</html>

La page de contenu est vide (aurait tu qq chose dedans qui mettrait la
pagaille ?).

Ce que je constate :

- si je clique sur A je vois le lien avec id=1

- si je clique sur B je vois le même lien avec id=2



Déjà si tu pars de là cela doit marcher !! Ensuite ajoute peu à peu le reste
(attention aussi à ne pas interpréter un résultat "normal" comme une erreur
par exemple si la page de destinatino est incorrecte elle pourrait faire
croire à tord qu'elle va sur un mauvais lien ?). ...

---

Patrice

"Jean Claude" a écrit dans le message de
news: 4726edc1$0$5096$
Bonjour Patrice

J'ai tout refait, nouveau projet avec page master et plan site
et cela ne marche pas.
Le siteMapPath indique bien le noeud
mais mon label ne l'indique pas

Je suis complétement paumé

Jean Claude
"Patrice" <http://www.chez.com/scribe/> a écrit dans le message de news:
OgmrX%
Je veux dire dans le fichier XML, un attribut est une "propriété" d'une
balise XML. J'ai donc actuellement (merci d'utiliser copier/coller, cela
permet d'avoir le texte exact et de ne pas se prendre la tête sur des
erreurs de recopie) :
<siteMap xmlns="http://schemas.microsoft.com/AspNet/SiteMap-File-1.0" >

<siteMapNode title="Catalogue" roles="*">

<siteMapNode url="FrmCatalogue.aspx?id=1" title="A" />

<siteMapNode url="FrmCatalogue.aspx?id=2" title="B" />

</siteMapNode>

</siteMap>

(noter que titre est remplacé par title, que le s est en miniscule
etc...)

Et cela marche donc chez moi !

Rien à voir avec le sujet mais sinon SiteMapNode est une classe, donc
dans le code "intellisense" ne présente effectivement que les méthode"
shared" qui permettent de comparer deux instances (Equals et
ReferenceEquals).

Par contre SiteMap.CurrentNode qui est une instance de la classe
SiteMapNode expose une propriété Title dont la valeur est tirée de
l'attribut Title présent dans le fichier XML.



Si cela ne marche toujours pas. Je ne vois guère comme dernière solution
de poster un fichier .ZIP prêt à l'emploi contenant UNIQUEMENT le code le
plus simple permettant de reproduire le problème avec le fichier SiteMap
(par exemple est-ce que du code présent ailleurs ne pourrait pas
également modifier ce label ou cette variable de session ?).

--

Patrice

"Jean Claude" a écrit dans le message de
news: 472610ab$0$27383$

je n'ai pas oublié le >, c'est une erreur de copie

par contre avec SiteMapNode il n'y a pas d'attribut titre, il y a Equals
ou ReferenceEquals


"Patrice" <http://www.chez.com/scribe/> a écrit dans le message de news:
%
Il manque un > en fin de première ligne.

XML est sensible à la casse et c'est donc siteMapNode. L'attribut titre
serait plutôt title.

Avec ces modifications cela continue de fonctionner chez moi (je
récupére l'url avec id=1 ou 2 selon que je clique sur le titre A ou B).

--
Patrice

"Jean Claude" a écrit dans le message
de news: 47260140$0$5087$
Mon siteMape :

<SiteMapNode url="" titre="Catalogue" roles="*"
<SiteMapNode url="FrmCatalogue.aspx?id=1"
titre="A" />
<SiteMapNode url="FrmCatalogue.aspx?id=2"
titre="B" />

......................
"Patrice" <http://www.chez.com/scribe/> a écrit dans le message de
news: %
Donc je dirais que le problème vient des données en provenance du
sitemap. Vérifier que ces données sont bien correctes ?

--
Patrice

"Jean Claude" a écrit dans le
message de news: 4725e3be$0$5089$
Si je déconnecte le treeview des données et j'ajoute A et B comme
dans le code posté précédemment... Le label affiche A ou B en
fonction du noeud cliqué

"Patrice" <http://www.chez.com/scribe/> a écrit dans le message de
news: e%
Cela marche chez moi (avec donc le OnSelectedNodeChanged) !! Le
problème pourrait-il être dans les données (par exemple value
serait incorrecte à la base dans les données) ou dans
l'exploitation ultérieure de la variable de session Choix ?

Déconnecte le treeview des données et ajoute A et B comme dans le
code que j'ai posté précédemment... Le label affiche t'il bien A ou
B en fonction du noeud cliqué ou une autre valeur ?

--
Patrice



"Jean Claude" a écrit dans le
message de news: 4725d1bf$0$5086$
Patrice, voici mon code (sur la page maitre):

Sub Select_Change(ByVal sender As Object, ByVal e As EventArgs)

lblChoix.Text = "Votre sélection: " &
Tvw.SelectedNode.Value

Session("Choix")=Tvw.SelectedNode.Value

End Sub







<asp:TreeView ID="Tvw" runat="server"

OnSelectedNodeChanged="Select_Change"

DataSourceID="sdsPlanSite" ImageSet="Arrows">

</asp:TreeView>

<asp:SiteMapDataSource ID="sdsPlanSite" runat="server"
ShowStartingNode="true" />





"Patrice" <http://www.chez.com/scribe/> a écrit dans le message de
news: u%
Humm... Visiblement y a comme un problème (tvw c'est bien le
treeview qui est affiché par exemple). Je recréerais une page
pour tester voir ce que ça donne.

Bonne continuation.

--
Patrice

"Jean Claude" a écrit dans le
message de news: 4725c4f0$0$25953$
Merci Patrice pour ton aide

sur la master page j'ai ajouté
Protected Sub Tvw_SelectedNodeChanged(ByVal sender As Object,
ByVal e
As System.EventArgs) Handles Tvw.SelectedNodeChanged
Dim LeChoix as string=""
LeChoix = Tvw.SelectedNode.Value
End Sub

Quand je teste la page avec F11 il saute cette procédure


"Patrice" <http://www.chez.com/scribe/> a écrit dans le message
de news:
A titre informatif cela devrait donner quelque chose comme :
Protected Sub TreeView1_SelectedNodeChanged(ByVal sender As
Object, ByVal e As System.EventArgs) Handles
TreeView1.SelectedNodeChanged

TextBox1.Text = TreeView1.SelectedNode.Value

End Sub

Protected Sub Page_Load(ByVal sender As Object, ByVal e As
System.EventArgs) Handles Me.Load

If Not Page.IsPostBack Then

TreeView1.Nodes.Add(New TreeNode("A"))

TreeView1.Nodes.Add(New TreeNode("B"))

End If

End Sub

End Class



avec une Textbox et un treeview. Quand je clique je vois bien
la valeur que je viens de cliquer dans ma textbox.
Vérifier-peut-être du côté de la requête qui n'utiliserait pas
la bonne donnée ???



"Patrice" <http://www.chez.com/scribe/> a écrit dans le message
de news:
A ce stade je suggère :
- faire un test le plus simple possible avec une page master
et une page contenu pour tester si tu as toujours le problème

Si non, comparer avec la page original devrait permettre de
trouver les différences et le problème. Si oui, tu pourras
poster le code le plus simple possible qui montre le problème
pour que l'on puisse éventuellement voir ce qui ne va pas...

Bon courage.

--
Patrice

"Jean Claude" a écrit dans le
message de news: 4725b252$0$5096$
Bonjour Patrice

Oui c'est quand je click sur le treeview

Jean Claude
"Patrice" <http://www.chez.com/scribe/> a écrit dans le
message de news: O$
C'est-à-dire ? Est-ce dans l'évènement click du treeview ?

A mon avis c'est un problème de logique. Une page n'existe
que le temps de la requête HTTP. A chaque fois, la page est
donc recrée dans son étét précédent (grâce au "view state")
avant que les données envoyées au serveur soient utilisées
pour mettre à jour la page.

Je pense que l'état du contrôle est lu trop tôt ce qui
retourne donc la valeur précédente...

Cf
http://msdn2.microsoft.com/fr-fr/library/ms178472(VS.80).aspx

---
Patrice

"Jean Claude" a écrit dans
le message de news:
4721df16$0$27401$
Bonjour Patrice

Mon treeview est sur une master page, et cette information
est récupérée sur celle-ci
je veux utiliser la variable LeChoix sur la page envoyée
par le clic du treeview.

Quand je lance l'appli je suis sur la page accueuil
je clic sur le treeview pour afficher la page page1
et j'ai besoin de la variable LeChoix pour lancer une
requete sur la page1 (LeChoix est le where de ma requete)
hors LeChoix est égal à "Accueil"" alors que je voudrais
qu'il soit "Page1"

J Claude

"Patrice" <http://www.chez.com/scribe/> a écrit dans le
message de news:
Dans quel évènement cette information est-elle récupérée ?
--
Patrice

"Jean Claude" a écrit
dans le message de news:
4721b1d8$0$27393$
Bonjour

dans une appli web, je veux connaitre la valeur du node
cliqué sur un treeview
mon code :
LeChoix=String.format(SiteMap.CurrentNode.Title)
Je suis obligé de cliquer 2 fois pour avoir le node
selectionné
au premier clic j'obtiens le node parent

Comment faire ?
je suis dans une vrai galère
merci pour vos réponse
Cordialement
J Claude







































































Avatar
Jean Claude
Merci Patrice pour ta patience

Cela marche, en fait l'erreur était l'absence du DataBindings

si je peux oser, je voudrais savoir si il est possible de placer dans la
page de contenu, un treeview, horizontal, dont le remplissage dépendrait du
choix du treeview de la masterpage et se ferait à partir d'une base de
données Access

Cordialement
Jean Claude
"Patrice" <http://www.chez.com/scribe/> a écrit dans le message de news:
%
Certers mais que constates tu exactement ? Je ne sais que dire d'autre.
Chez moi je suis incapable de reproduire ton problème :

Le site map est :
<?xml version="1.0" encoding="utf-8" ?>

<siteMap xmlns="http://schemas.microsoft.com/AspNet/SiteMap-File-1.0" >

<siteMapNode title="Catalogue" roles="*">

<siteMapNode url="FrmCatalogue.aspx?id=1" title="A" />

<siteMapNode url="FrmCatalogue.aspx?id=2" title="B" />

</siteMapNode>

</siteMap>



Le code de la page master est :

Protected Sub Select_Change(ByVal sender As Object, ByVal e As
System.EventArgs)

Label1.Text = TreeView1.SelectedNode.Value

End Sub

et le balisage :

<%@ Master Language="VB" CodeFile="MasterPage.master.vb"
Inherits="MasterPage" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >

<head runat="server">

<title>Page sans titre</title>

</head>

<body>

<form id="form1" runat="server">

<div>

<asp:TreeView ID="TreeView1" runat="server"
OnSelectedNodeChanged="Select_Change" DataSourceID="SiteMapDataSource1">

<DataBindings>

<asp:TreeNodeBinding DataMember="SiteMapNode" TextField="Title"
ValueField="Url"/>

</DataBindings>

</asp:TreeView>

<asp:SiteMapDataSource ID="SiteMapDataSource1" runat="server" />

<asp:Label ID="Label1" runat="server"></asp:Label>

<asp:contentplaceholder id="ContentPlaceHolder1" runat="server">

</asp:contentplaceholder>

</div>

</form>

</body>

</html>

La page de contenu est vide (aurait tu qq chose dedans qui mettrait la
pagaille ?).

Ce que je constate :

- si je clique sur A je vois le lien avec id=1

- si je clique sur B je vois le même lien avec id=2



Déjà si tu pars de là cela doit marcher !! Ensuite ajoute peu à peu le
reste (attention aussi à ne pas interpréter un résultat "normal" comme une
erreur par exemple si la page de destinatino est incorrecte elle pourrait
faire croire à tord qu'elle va sur un mauvais lien ?). ...

---

Patrice

"Jean Claude" a écrit dans le message de
news: 4726edc1$0$5096$
Bonjour Patrice

J'ai tout refait, nouveau projet avec page master et plan site
et cela ne marche pas.
Le siteMapPath indique bien le noeud
mais mon label ne l'indique pas

Je suis complétement paumé

Jean Claude
"Patrice" <http://www.chez.com/scribe/> a écrit dans le message de news:
OgmrX%
Je veux dire dans le fichier XML, un attribut est une "propriété" d'une
balise XML. J'ai donc actuellement (merci d'utiliser copier/coller, cela
permet d'avoir le texte exact et de ne pas se prendre la tête sur des
erreurs de recopie) :
<siteMap xmlns="http://schemas.microsoft.com/AspNet/SiteMap-File-1.0" >

<siteMapNode title="Catalogue" roles="*">

<siteMapNode url="FrmCatalogue.aspx?id=1" title="A" />

<siteMapNode url="FrmCatalogue.aspx?id=2" title="B" />

</siteMapNode>

</siteMap>

(noter que titre est remplacé par title, que le s est en miniscule
etc...)

Et cela marche donc chez moi !

Rien à voir avec le sujet mais sinon SiteMapNode est une classe, donc
dans le code "intellisense" ne présente effectivement que les méthode"
shared" qui permettent de comparer deux instances (Equals et
ReferenceEquals).

Par contre SiteMap.CurrentNode qui est une instance de la classe
SiteMapNode expose une propriété Title dont la valeur est tirée de
l'attribut Title présent dans le fichier XML.



Si cela ne marche toujours pas. Je ne vois guère comme dernière solution
de poster un fichier .ZIP prêt à l'emploi contenant UNIQUEMENT le code
le plus simple permettant de reproduire le problème avec le fichier
SiteMap (par exemple est-ce que du code présent ailleurs ne pourrait pas
également modifier ce label ou cette variable de session ?).

--

Patrice

"Jean Claude" a écrit dans le message
de news: 472610ab$0$27383$

je n'ai pas oublié le >, c'est une erreur de copie

par contre avec SiteMapNode il n'y a pas d'attribut titre, il y a
Equals ou ReferenceEquals


"Patrice" <http://www.chez.com/scribe/> a écrit dans le message de
news: %
Il manque un > en fin de première ligne.

XML est sensible à la casse et c'est donc siteMapNode. L'attribut
titre serait plutôt title.

Avec ces modifications cela continue de fonctionner chez moi (je
récupére l'url avec id=1 ou 2 selon que je clique sur le titre A ou
B).

--
Patrice

"Jean Claude" a écrit dans le message
de news: 47260140$0$5087$
Mon siteMape :

<SiteMapNode url="" titre="Catalogue" roles="*"
<SiteMapNode url="FrmCatalogue.aspx?id=1"
titre="A" />
<SiteMapNode url="FrmCatalogue.aspx?id=2"
titre="B" />

......................
"Patrice" <http://www.chez.com/scribe/> a écrit dans le message de
news: %
Donc je dirais que le problème vient des données en provenance du
sitemap. Vérifier que ces données sont bien correctes ?

--
Patrice

"Jean Claude" a écrit dans le
message de news: 4725e3be$0$5089$
Si je déconnecte le treeview des données et j'ajoute A et B comme
dans le code posté précédemment... Le label affiche A ou B en
fonction du noeud cliqué

"Patrice" <http://www.chez.com/scribe/> a écrit dans le message de
news: e%
Cela marche chez moi (avec donc le OnSelectedNodeChanged) !! Le
problème pourrait-il être dans les données (par exemple value
serait incorrecte à la base dans les données) ou dans
l'exploitation ultérieure de la variable de session Choix ?

Déconnecte le treeview des données et ajoute A et B comme dans le
code que j'ai posté précédemment... Le label affiche t'il bien A
ou B en fonction du noeud cliqué ou une autre valeur ?

--
Patrice



"Jean Claude" a écrit dans le
message de news: 4725d1bf$0$5086$
Patrice, voici mon code (sur la page maitre):

Sub Select_Change(ByVal sender As Object, ByVal e As EventArgs)

lblChoix.Text = "Votre sélection: " &
Tvw.SelectedNode.Value

Session("Choix")=Tvw.SelectedNode.Value

End Sub







<asp:TreeView ID="Tvw" runat="server"

OnSelectedNodeChanged="Select_Change"

DataSourceID="sdsPlanSite" ImageSet="Arrows">

</asp:TreeView>

<asp:SiteMapDataSource ID="sdsPlanSite" runat="server"
ShowStartingNode="true" />





"Patrice" <http://www.chez.com/scribe/> a écrit dans le message
de news: u%
Humm... Visiblement y a comme un problème (tvw c'est bien le
treeview qui est affiché par exemple). Je recréerais une page
pour tester voir ce que ça donne.

Bonne continuation.

--
Patrice

"Jean Claude" a écrit dans le
message de news: 4725c4f0$0$25953$
Merci Patrice pour ton aide

sur la master page j'ai ajouté
Protected Sub Tvw_SelectedNodeChanged(ByVal sender As Object,
ByVal e
As System.EventArgs) Handles Tvw.SelectedNodeChanged
Dim LeChoix as string=""
LeChoix = Tvw.SelectedNode.Value
End Sub

Quand je teste la page avec F11 il saute cette procédure


"Patrice" <http://www.chez.com/scribe/> a écrit dans le message
de news:
A titre informatif cela devrait donner quelque chose comme :
Protected Sub TreeView1_SelectedNodeChanged(ByVal sender As
Object, ByVal e As System.EventArgs) Handles
TreeView1.SelectedNodeChanged

TextBox1.Text = TreeView1.SelectedNode.Value

End Sub

Protected Sub Page_Load(ByVal sender As Object, ByVal e As
System.EventArgs) Handles Me.Load

If Not Page.IsPostBack Then

TreeView1.Nodes.Add(New TreeNode("A"))

TreeView1.Nodes.Add(New TreeNode("B"))

End If

End Sub

End Class



avec une Textbox et un treeview. Quand je clique je vois bien
la valeur que je viens de cliquer dans ma textbox.
Vérifier-peut-être du côté de la requête qui n'utiliserait pas
la bonne donnée ???



"Patrice" <http://www.chez.com/scribe/> a écrit dans le
message de news:
A ce stade je suggère :
- faire un test le plus simple possible avec une page master
et une page contenu pour tester si tu as toujours le problème

Si non, comparer avec la page original devrait permettre de
trouver les différences et le problème. Si oui, tu pourras
poster le code le plus simple possible qui montre le problème
pour que l'on puisse éventuellement voir ce qui ne va pas...

Bon courage.

--
Patrice

"Jean Claude" a écrit dans
le message de news:
4725b252$0$5096$
Bonjour Patrice

Oui c'est quand je click sur le treeview

Jean Claude
"Patrice" <http://www.chez.com/scribe/> a écrit dans le
message de news: O$
C'est-à-dire ? Est-ce dans l'évènement click du treeview ?

A mon avis c'est un problème de logique. Une page n'existe
que le temps de la requête HTTP. A chaque fois, la page est
donc recrée dans son étét précédent (grâce au "view state")
avant que les données envoyées au serveur soient utilisées
pour mettre à jour la page.

Je pense que l'état du contrôle est lu trop tôt ce qui
retourne donc la valeur précédente...

Cf
http://msdn2.microsoft.com/fr-fr/library/ms178472(VS.80).aspx

---
Patrice

"Jean Claude" a écrit dans
le message de news:
4721df16$0$27401$
Bonjour Patrice

Mon treeview est sur une master page, et cette information
est récupérée sur celle-ci
je veux utiliser la variable LeChoix sur la page envoyée
par le clic du treeview.

Quand je lance l'appli je suis sur la page accueuil
je clic sur le treeview pour afficher la page page1
et j'ai besoin de la variable LeChoix pour lancer une
requete sur la page1 (LeChoix est le where de ma requete)
hors LeChoix est égal à "Accueil"" alors que je voudrais
qu'il soit "Page1"

J Claude

"Patrice" <http://www.chez.com/scribe/> a écrit dans le
message de news:
Dans quel évènement cette information est-elle récupérée
?
--
Patrice

"Jean Claude" a écrit
dans le message de news:
4721b1d8$0$27393$
Bonjour

dans une appli web, je veux connaitre la valeur du node
cliqué sur un treeview
mon code :
LeChoix=String.format(SiteMap.CurrentNode.Title)
Je suis obligé de cliquer 2 fois pour avoir le node
selectionné
au premier clic j'obtiens le node parent

Comment faire ?
je suis dans une vrai galère
merci pour vos réponse
Cordialement
J Claude











































































Avatar
Jean Claude
Je suis allé trop vite, quand je clic sur le noeud, mon label indique bien
le noeud sélectionné, par contre il n'affiche pas la page contenu
de même dans le DataBindings si je mets ValueField="Url"
quand je clic c'est le chemin qui s'affiche, et si je clic une seconde fois
la page contenu s'affiche

"Patrice" <http://www.chez.com/scribe/> a écrit dans le message de news:
%
Certers mais que constates tu exactement ? Je ne sais que dire d'autre.
Chez moi je suis incapable de reproduire ton problème :

Le site map est :
<?xml version="1.0" encoding="utf-8" ?>

<siteMap xmlns="http://schemas.microsoft.com/AspNet/SiteMap-File-1.0" >

<siteMapNode title="Catalogue" roles="*">

<siteMapNode url="FrmCatalogue.aspx?id=1" title="A" />

<siteMapNode url="FrmCatalogue.aspx?id=2" title="B" />

</siteMapNode>

</siteMap>



Le code de la page master est :

Protected Sub Select_Change(ByVal sender As Object, ByVal e As
System.EventArgs)

Label1.Text = TreeView1.SelectedNode.Value

End Sub

et le balisage :

<%@ Master Language="VB" CodeFile="MasterPage.master.vb"
Inherits="MasterPage" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >

<head runat="server">

<title>Page sans titre</title>

</head>

<body>

<form id="form1" runat="server">

<div>

<asp:TreeView ID="TreeView1" runat="server"
OnSelectedNodeChanged="Select_Change" DataSourceID="SiteMapDataSource1">

<DataBindings>

<asp:TreeNodeBinding DataMember="SiteMapNode" TextField="Title"
ValueField="Url"/>

</DataBindings>

</asp:TreeView>

<asp:SiteMapDataSource ID="SiteMapDataSource1" runat="server" />

<asp:Label ID="Label1" runat="server"></asp:Label>

<asp:contentplaceholder id="ContentPlaceHolder1" runat="server">

</asp:contentplaceholder>

</div>

</form>

</body>

</html>

La page de contenu est vide (aurait tu qq chose dedans qui mettrait la
pagaille ?).

Ce que je constate :

- si je clique sur A je vois le lien avec id=1

- si je clique sur B je vois le même lien avec id=2



Déjà si tu pars de là cela doit marcher !! Ensuite ajoute peu à peu le
reste (attention aussi à ne pas interpréter un résultat "normal" comme une
erreur par exemple si la page de destinatino est incorrecte elle pourrait
faire croire à tord qu'elle va sur un mauvais lien ?). ...

---

Patrice

"Jean Claude" a écrit dans le message de
news: 4726edc1$0$5096$
Bonjour Patrice

J'ai tout refait, nouveau projet avec page master et plan site
et cela ne marche pas.
Le siteMapPath indique bien le noeud
mais mon label ne l'indique pas

Je suis complétement paumé

Jean Claude
"Patrice" <http://www.chez.com/scribe/> a écrit dans le message de news:
OgmrX%
Je veux dire dans le fichier XML, un attribut est une "propriété" d'une
balise XML. J'ai donc actuellement (merci d'utiliser copier/coller, cela
permet d'avoir le texte exact et de ne pas se prendre la tête sur des
erreurs de recopie) :
<siteMap xmlns="http://schemas.microsoft.com/AspNet/SiteMap-File-1.0" >

<siteMapNode title="Catalogue" roles="*">

<siteMapNode url="FrmCatalogue.aspx?id=1" title="A" />

<siteMapNode url="FrmCatalogue.aspx?id=2" title="B" />

</siteMapNode>

</siteMap>

(noter que titre est remplacé par title, que le s est en miniscule
etc...)

Et cela marche donc chez moi !

Rien à voir avec le sujet mais sinon SiteMapNode est une classe, donc
dans le code "intellisense" ne présente effectivement que les méthode"
shared" qui permettent de comparer deux instances (Equals et
ReferenceEquals).

Par contre SiteMap.CurrentNode qui est une instance de la classe
SiteMapNode expose une propriété Title dont la valeur est tirée de
l'attribut Title présent dans le fichier XML.



Si cela ne marche toujours pas. Je ne vois guère comme dernière solution
de poster un fichier .ZIP prêt à l'emploi contenant UNIQUEMENT le code
le plus simple permettant de reproduire le problème avec le fichier
SiteMap (par exemple est-ce que du code présent ailleurs ne pourrait pas
également modifier ce label ou cette variable de session ?).

--

Patrice

"Jean Claude" a écrit dans le message
de news: 472610ab$0$27383$

je n'ai pas oublié le >, c'est une erreur de copie

par contre avec SiteMapNode il n'y a pas d'attribut titre, il y a
Equals ou ReferenceEquals


"Patrice" <http://www.chez.com/scribe/> a écrit dans le message de
news: %
Il manque un > en fin de première ligne.

XML est sensible à la casse et c'est donc siteMapNode. L'attribut
titre serait plutôt title.

Avec ces modifications cela continue de fonctionner chez moi (je
récupére l'url avec id=1 ou 2 selon que je clique sur le titre A ou
B).

--
Patrice

"Jean Claude" a écrit dans le message
de news: 47260140$0$5087$
Mon siteMape :

<SiteMapNode url="" titre="Catalogue" roles="*"
<SiteMapNode url="FrmCatalogue.aspx?id=1"
titre="A" />
<SiteMapNode url="FrmCatalogue.aspx?id=2"
titre="B" />

......................
"Patrice" <http://www.chez.com/scribe/> a écrit dans le message de
news: %
Donc je dirais que le problème vient des données en provenance du
sitemap. Vérifier que ces données sont bien correctes ?

--
Patrice

"Jean Claude" a écrit dans le
message de news: 4725e3be$0$5089$
Si je déconnecte le treeview des données et j'ajoute A et B comme
dans le code posté précédemment... Le label affiche A ou B en
fonction du noeud cliqué

"Patrice" <http://www.chez.com/scribe/> a écrit dans le message de
news: e%
Cela marche chez moi (avec donc le OnSelectedNodeChanged) !! Le
problème pourrait-il être dans les données (par exemple value
serait incorrecte à la base dans les données) ou dans
l'exploitation ultérieure de la variable de session Choix ?

Déconnecte le treeview des données et ajoute A et B comme dans le
code que j'ai posté précédemment... Le label affiche t'il bien A
ou B en fonction du noeud cliqué ou une autre valeur ?

--
Patrice



"Jean Claude" a écrit dans le
message de news: 4725d1bf$0$5086$
Patrice, voici mon code (sur la page maitre):

Sub Select_Change(ByVal sender As Object, ByVal e As EventArgs)

lblChoix.Text = "Votre sélection: " &
Tvw.SelectedNode.Value

Session("Choix")=Tvw.SelectedNode.Value

End Sub







<asp:TreeView ID="Tvw" runat="server"

OnSelectedNodeChanged="Select_Change"

DataSourceID="sdsPlanSite" ImageSet="Arrows">

</asp:TreeView>

<asp:SiteMapDataSource ID="sdsPlanSite" runat="server"
ShowStartingNode="true" />





"Patrice" <http://www.chez.com/scribe/> a écrit dans le message
de news: u%
Humm... Visiblement y a comme un problème (tvw c'est bien le
treeview qui est affiché par exemple). Je recréerais une page
pour tester voir ce que ça donne.

Bonne continuation.

--
Patrice

"Jean Claude" a écrit dans le
message de news: 4725c4f0$0$25953$
Merci Patrice pour ton aide

sur la master page j'ai ajouté
Protected Sub Tvw_SelectedNodeChanged(ByVal sender As Object,
ByVal e
As System.EventArgs) Handles Tvw.SelectedNodeChanged
Dim LeChoix as string=""
LeChoix = Tvw.SelectedNode.Value
End Sub

Quand je teste la page avec F11 il saute cette procédure


"Patrice" <http://www.chez.com/scribe/> a écrit dans le message
de news:
A titre informatif cela devrait donner quelque chose comme :
Protected Sub TreeView1_SelectedNodeChanged(ByVal sender As
Object, ByVal e As System.EventArgs) Handles
TreeView1.SelectedNodeChanged

TextBox1.Text = TreeView1.SelectedNode.Value

End Sub

Protected Sub Page_Load(ByVal sender As Object, ByVal e As
System.EventArgs) Handles Me.Load

If Not Page.IsPostBack Then

TreeView1.Nodes.Add(New TreeNode("A"))

TreeView1.Nodes.Add(New TreeNode("B"))

End If

End Sub

End Class



avec une Textbox et un treeview. Quand je clique je vois bien
la valeur que je viens de cliquer dans ma textbox.
Vérifier-peut-être du côté de la requête qui n'utiliserait pas
la bonne donnée ???



"Patrice" <http://www.chez.com/scribe/> a écrit dans le
message de news:
A ce stade je suggère :
- faire un test le plus simple possible avec une page master
et une page contenu pour tester si tu as toujours le problème

Si non, comparer avec la page original devrait permettre de
trouver les différences et le problème. Si oui, tu pourras
poster le code le plus simple possible qui montre le problème
pour que l'on puisse éventuellement voir ce qui ne va pas...

Bon courage.

--
Patrice

"Jean Claude" a écrit dans
le message de news:
4725b252$0$5096$
Bonjour Patrice

Oui c'est quand je click sur le treeview

Jean Claude
"Patrice" <http://www.chez.com/scribe/> a écrit dans le
message de news: O$
C'est-à-dire ? Est-ce dans l'évènement click du treeview ?

A mon avis c'est un problème de logique. Une page n'existe
que le temps de la requête HTTP. A chaque fois, la page est
donc recrée dans son étét précédent (grâce au "view state")
avant que les données envoyées au serveur soient utilisées
pour mettre à jour la page.

Je pense que l'état du contrôle est lu trop tôt ce qui
retourne donc la valeur précédente...

Cf
http://msdn2.microsoft.com/fr-fr/library/ms178472(VS.80).aspx

---
Patrice

"Jean Claude" a écrit dans
le message de news:
4721df16$0$27401$
Bonjour Patrice

Mon treeview est sur une master page, et cette information
est récupérée sur celle-ci
je veux utiliser la variable LeChoix sur la page envoyée
par le clic du treeview.

Quand je lance l'appli je suis sur la page accueuil
je clic sur le treeview pour afficher la page page1
et j'ai besoin de la variable LeChoix pour lancer une
requete sur la page1 (LeChoix est le where de ma requete)
hors LeChoix est égal à "Accueil"" alors que je voudrais
qu'il soit "Page1"

J Claude

"Patrice" <http://www.chez.com/scribe/> a écrit dans le
message de news:
Dans quel évènement cette information est-elle récupérée
?
--
Patrice

"Jean Claude" a écrit
dans le message de news:
4721b1d8$0$27393$
Bonjour

dans une appli web, je veux connaitre la valeur du node
cliqué sur un treeview
mon code :
LeChoix=String.format(SiteMap.CurrentNode.Title)
Je suis obligé de cliquer 2 fois pour avoir le node
selectionné
au premier clic j'obtiens le node parent

Comment faire ?
je suis dans une vrai galère
merci pour vos réponse
Cordialement
J Claude











































































Avatar
Patrice
Donc à partir du code que je t"'ai fourni précédemment rien ne t'empêches
d'ajouter un second label pour y mettre le text. Le code devient :
Label1.Text = TreeView1.SelectedNode.Value

Label2.Text = TreeView1.SelectedNode.Text



Dans le label1 tu vois le chemin et dans label2 le text. Pour se brancher
sur la paeg suivante, il faut bien sûr y aller explictement. Le code devient
alors :

Response.Redirect Treeview1.selectednode.Value



Pour le reste si tu veux une présentation horizontale, j'ai l'impression que
tu cherches plus un menu qu'un treeview (donc remplace peut-être le contrôle
treeview par un menu et là tu peux choisir l'orientation du menu).

--

Patrice

"Jean Claude" a écrit dans le message de
news: 4727124d$0$5089$

Je suis allé trop vite, quand je clic sur le noeud, mon label indique bien
le noeud sélectionné, par contre il n'affiche pas la page contenu
de même dans le DataBindings si je mets ValueField="Url"
quand je clic c'est le chemin qui s'affiche, et si je clic une seconde
fois la page contenu s'affiche

"Patrice" <http://www.chez.com/scribe/> a écrit dans le message de news:
%
Certers mais que constates tu exactement ? Je ne sais que dire d'autre.
Chez moi je suis incapable de reproduire ton problème :

Le site map est :
<?xml version="1.0" encoding="utf-8" ?>

<siteMap xmlns="http://schemas.microsoft.com/AspNet/SiteMap-File-1.0" >

<siteMapNode title="Catalogue" roles="*">

<siteMapNode url="FrmCatalogue.aspx?id=1" title="A" />

<siteMapNode url="FrmCatalogue.aspx?id=2" title="B" />

</siteMapNode>

</siteMap>



Le code de la page master est :

Protected Sub Select_Change(ByVal sender As Object, ByVal e As
System.EventArgs)

Label1.Text = TreeView1.SelectedNode.Value

End Sub

et le balisage :

<%@ Master Language="VB" CodeFile="MasterPage.master.vb"
Inherits="MasterPage" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >

<head runat="server">

<title>Page sans titre</title>

</head>

<body>

<form id="form1" runat="server">

<div>

<asp:TreeView ID="TreeView1" runat="server"
OnSelectedNodeChanged="Select_Change" DataSourceID="SiteMapDataSource1">

<DataBindings>

<asp:TreeNodeBinding DataMember="SiteMapNode" TextField="Title"
ValueField="Url"/>

</DataBindings>

</asp:TreeView>

<asp:SiteMapDataSource ID="SiteMapDataSource1" runat="server" />

<asp:Label ID="Label1" runat="server"></asp:Label>

<asp:contentplaceholder id="ContentPlaceHolder1" runat="server">

</asp:contentplaceholder>

</div>

</form>

</body>

</html>

La page de contenu est vide (aurait tu qq chose dedans qui mettrait la
pagaille ?).

Ce que je constate :

- si je clique sur A je vois le lien avec id=1

- si je clique sur B je vois le même lien avec id=2



Déjà si tu pars de là cela doit marcher !! Ensuite ajoute peu à peu le
reste (attention aussi à ne pas interpréter un résultat "normal" comme
une erreur par exemple si la page de destinatino est incorrecte elle
pourrait faire croire à tord qu'elle va sur un mauvais lien ?). ...

---

Patrice

"Jean Claude" a écrit dans le message de
news: 4726edc1$0$5096$
Bonjour Patrice

J'ai tout refait, nouveau projet avec page master et plan site
et cela ne marche pas.
Le siteMapPath indique bien le noeud
mais mon label ne l'indique pas

Je suis complétement paumé

Jean Claude
"Patrice" <http://www.chez.com/scribe/> a écrit dans le message de news:
OgmrX%
Je veux dire dans le fichier XML, un attribut est une "propriété" d'une
balise XML. J'ai donc actuellement (merci d'utiliser copier/coller,
cela permet d'avoir le texte exact et de ne pas se prendre la tête sur
des erreurs de recopie) :
<siteMap xmlns="http://schemas.microsoft.com/AspNet/SiteMap-File-1.0" >

<siteMapNode title="Catalogue" roles="*">

<siteMapNode url="FrmCatalogue.aspx?id=1" title="A" />

<siteMapNode url="FrmCatalogue.aspx?id=2" title="B" />

</siteMapNode>

</siteMap>

(noter que titre est remplacé par title, que le s est en miniscule
etc...)

Et cela marche donc chez moi !

Rien à voir avec le sujet mais sinon SiteMapNode est une classe, donc
dans le code "intellisense" ne présente effectivement que les méthode"
shared" qui permettent de comparer deux instances (Equals et
ReferenceEquals).

Par contre SiteMap.CurrentNode qui est une instance de la classe
SiteMapNode expose une propriété Title dont la valeur est tirée de
l'attribut Title présent dans le fichier XML.



Si cela ne marche toujours pas. Je ne vois guère comme dernière
solution de poster un fichier .ZIP prêt à l'emploi contenant UNIQUEMENT
le code le plus simple permettant de reproduire le problème avec le
fichier SiteMap (par exemple est-ce que du code présent ailleurs ne
pourrait pas également modifier ce label ou cette variable de session
?).

--

Patrice

"Jean Claude" a écrit dans le message
de news: 472610ab$0$27383$

je n'ai pas oublié le >, c'est une erreur de copie

par contre avec SiteMapNode il n'y a pas d'attribut titre, il y a
Equals ou ReferenceEquals


"Patrice" <http://www.chez.com/scribe/> a écrit dans le message de
news: %
Il manque un > en fin de première ligne.

XML est sensible à la casse et c'est donc siteMapNode. L'attribut
titre serait plutôt title.

Avec ces modifications cela continue de fonctionner chez moi (je
récupére l'url avec id=1 ou 2 selon que je clique sur le titre A ou
B).

--
Patrice

"Jean Claude" a écrit dans le
message de news: 47260140$0$5087$
Mon siteMape :

<SiteMapNode url="" titre="Catalogue" roles="*"
<SiteMapNode url="FrmCatalogue.aspx?id=1"
titre="A" />
<SiteMapNode url="FrmCatalogue.aspx?id=2"
titre="B" />

......................
"Patrice" <http://www.chez.com/scribe/> a écrit dans le message de
news: %
Donc je dirais que le problème vient des données en provenance du
sitemap. Vérifier que ces données sont bien correctes ?

--
Patrice

"Jean Claude" a écrit dans le
message de news: 4725e3be$0$5089$
Si je déconnecte le treeview des données et j'ajoute A et B comme
dans le code posté précédemment... Le label affiche A ou B en
fonction du noeud cliqué

"Patrice" <http://www.chez.com/scribe/> a écrit dans le message de
news: e%
Cela marche chez moi (avec donc le OnSelectedNodeChanged) !! Le
problème pourrait-il être dans les données (par exemple value
serait incorrecte à la base dans les données) ou dans
l'exploitation ultérieure de la variable de session Choix ?

Déconnecte le treeview des données et ajoute A et B comme dans le
code que j'ai posté précédemment... Le label affiche t'il bien A
ou B en fonction du noeud cliqué ou une autre valeur ?

--
Patrice



"Jean Claude" a écrit dans le
message de news: 4725d1bf$0$5086$
Patrice, voici mon code (sur la page maitre):

Sub Select_Change(ByVal sender As Object, ByVal e As EventArgs)

lblChoix.Text = "Votre sélection: " &
Tvw.SelectedNode.Value

Session("Choix")=Tvw.SelectedNode.Value

End Sub







<asp:TreeView ID="Tvw" runat="server"

OnSelectedNodeChanged="Select_Change"

DataSourceID="sdsPlanSite" ImageSet="Arrows">

</asp:TreeView>

<asp:SiteMapDataSource ID="sdsPlanSite" runat="server"
ShowStartingNode="true" />





"Patrice" <http://www.chez.com/scribe/> a écrit dans le message
de news: u%
Humm... Visiblement y a comme un problème (tvw c'est bien le
treeview qui est affiché par exemple). Je recréerais une page
pour tester voir ce que ça donne.

Bonne continuation.

--
Patrice

"Jean Claude" a écrit dans le
message de news: 4725c4f0$0$25953$
Merci Patrice pour ton aide

sur la master page j'ai ajouté
Protected Sub Tvw_SelectedNodeChanged(ByVal sender As Object,
ByVal e
As System.EventArgs) Handles Tvw.SelectedNodeChanged
Dim LeChoix as string=""
LeChoix = Tvw.SelectedNode.Value
End Sub

Quand je teste la page avec F11 il saute cette procédure


"Patrice" <http://www.chez.com/scribe/> a écrit dans le
message de news:
A titre informatif cela devrait donner quelque chose comme :
Protected Sub TreeView1_SelectedNodeChanged(ByVal sender As
Object, ByVal e As System.EventArgs) Handles
TreeView1.SelectedNodeChanged

TextBox1.Text = TreeView1.SelectedNode.Value

End Sub

Protected Sub Page_Load(ByVal sender As Object, ByVal e As
System.EventArgs) Handles Me.Load

If Not Page.IsPostBack Then

TreeView1.Nodes.Add(New TreeNode("A"))

TreeView1.Nodes.Add(New TreeNode("B"))

End If

End Sub

End Class



avec une Textbox et un treeview. Quand je clique je vois bien
la valeur que je viens de cliquer dans ma textbox.
Vérifier-peut-être du côté de la requête qui n'utiliserait
pas la bonne donnée ???



"Patrice" <http://www.chez.com/scribe/> a écrit dans le
message de news:
A ce stade je suggère :
- faire un test le plus simple possible avec une page master
et une page contenu pour tester si tu as toujours le
problème

Si non, comparer avec la page original devrait permettre de
trouver les différences et le problème. Si oui, tu pourras
poster le code le plus simple possible qui montre le
problème pour que l'on puisse éventuellement voir ce qui ne
va pas...

Bon courage.

--
Patrice

"Jean Claude" a écrit dans
le message de news:
4725b252$0$5096$
Bonjour Patrice

Oui c'est quand je click sur le treeview

Jean Claude
"Patrice" <http://www.chez.com/scribe/> a écrit dans le
message de news: O$
C'est-à-dire ? Est-ce dans l'évènement click du treeview ?

A mon avis c'est un problème de logique. Une page n'existe
que le temps de la requête HTTP. A chaque fois, la page
est donc recrée dans son étét précédent (grâce au "view
state") avant que les données envoyées au serveur soient
utilisées pour mettre à jour la page.

Je pense que l'état du contrôle est lu trop tôt ce qui
retourne donc la valeur précédente...

Cf
http://msdn2.microsoft.com/fr-fr/library/ms178472(VS.80).aspx

---
Patrice

"Jean Claude" a écrit
dans le message de news:
4721df16$0$27401$
Bonjour Patrice

Mon treeview est sur une master page, et cette
information est récupérée sur celle-ci
je veux utiliser la variable LeChoix sur la page envoyée
par le clic du treeview.

Quand je lance l'appli je suis sur la page accueuil
je clic sur le treeview pour afficher la page page1
et j'ai besoin de la variable LeChoix pour lancer une
requete sur la page1 (LeChoix est le where de ma requete)
hors LeChoix est égal à "Accueil"" alors que je voudrais
qu'il soit "Page1"

J Claude

"Patrice" <http://www.chez.com/scribe/> a écrit dans le
message de news:
Dans quel évènement cette information est-elle récupérée
?
--
Patrice

"Jean Claude" a écrit
dans le message de news:
4721b1d8$0$27393$
Bonjour

dans une appli web, je veux connaitre la valeur du node
cliqué sur un treeview
mon code :
LeChoix=String.format(SiteMap.CurrentNode.Title)
Je suis obligé de cliquer 2 fois pour avoir le node
selectionné
au premier clic j'obtiens le node parent

Comment faire ?
je suis dans une vrai galère
merci pour vos réponse
Cordialement
J Claude















































































Avatar
Jean Claude
Merci beaucoup Patrice

Tout est OK

Cordialement
Jean Claude
"Patrice" <http://www.chez.com/scribe/> a écrit dans le message de news:
%
Donc à partir du code que je t"'ai fourni précédemment rien ne t'empêches
d'ajouter un second label pour y mettre le text. Le code devient :
Label1.Text = TreeView1.SelectedNode.Value

Label2.Text = TreeView1.SelectedNode.Text



Dans le label1 tu vois le chemin et dans label2 le text. Pour se brancher
sur la paeg suivante, il faut bien sûr y aller explictement. Le code
devient alors :

Response.Redirect Treeview1.selectednode.Value



Pour le reste si tu veux une présentation horizontale, j'ai l'impression
que tu cherches plus un menu qu'un treeview (donc remplace peut-être le
contrôle treeview par un menu et là tu peux choisir l'orientation du
menu).

--

Patrice

"Jean Claude" a écrit dans le message de
news: 4727124d$0$5089$

Je suis allé trop vite, quand je clic sur le noeud, mon label indique
bien le noeud sélectionné, par contre il n'affiche pas la page contenu
de même dans le DataBindings si je mets ValueField="Url"
quand je clic c'est le chemin qui s'affiche, et si je clic une seconde
fois la page contenu s'affiche

"Patrice" <http://www.chez.com/scribe/> a écrit dans le message de news:
%
Certers mais que constates tu exactement ? Je ne sais que dire d'autre.
Chez moi je suis incapable de reproduire ton problème :

Le site map est :
<?xml version="1.0" encoding="utf-8" ?>

<siteMap xmlns="http://schemas.microsoft.com/AspNet/SiteMap-File-1.0" >

<siteMapNode title="Catalogue" roles="*">

<siteMapNode url="FrmCatalogue.aspx?id=1" title="A" />

<siteMapNode url="FrmCatalogue.aspx?id=2" title="B" />

</siteMapNode>

</siteMap>



Le code de la page master est :

Protected Sub Select_Change(ByVal sender As Object, ByVal e As
System.EventArgs)

Label1.Text = TreeView1.SelectedNode.Value

End Sub

et le balisage :

<%@ Master Language="VB" CodeFile="MasterPage.master.vb"
Inherits="MasterPage" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >

<head runat="server">

<title>Page sans titre</title>

</head>

<body>

<form id="form1" runat="server">

<div>

<asp:TreeView ID="TreeView1" runat="server"
OnSelectedNodeChanged="Select_Change" DataSourceID="SiteMapDataSource1">

<DataBindings>

<asp:TreeNodeBinding DataMember="SiteMapNode" TextField="Title"
ValueField="Url"/>

</DataBindings>

</asp:TreeView>

<asp:SiteMapDataSource ID="SiteMapDataSource1" runat="server" />

<asp:Label ID="Label1" runat="server"></asp:Label>

<asp:contentplaceholder id="ContentPlaceHolder1" runat="server">

</asp:contentplaceholder>

</div>

</form>

</body>

</html>

La page de contenu est vide (aurait tu qq chose dedans qui mettrait la
pagaille ?).

Ce que je constate :

- si je clique sur A je vois le lien avec id=1

- si je clique sur B je vois le même lien avec id=2



Déjà si tu pars de là cela doit marcher !! Ensuite ajoute peu à peu le
reste (attention aussi à ne pas interpréter un résultat "normal" comme
une erreur par exemple si la page de destinatino est incorrecte elle
pourrait faire croire à tord qu'elle va sur un mauvais lien ?). ...

---

Patrice

"Jean Claude" a écrit dans le message
de news: 4726edc1$0$5096$
Bonjour Patrice

J'ai tout refait, nouveau projet avec page master et plan site
et cela ne marche pas.
Le siteMapPath indique bien le noeud
mais mon label ne l'indique pas

Je suis complétement paumé

Jean Claude
"Patrice" <http://www.chez.com/scribe/> a écrit dans le message de
news: OgmrX%
Je veux dire dans le fichier XML, un attribut est une "propriété"
d'une balise XML. J'ai donc actuellement (merci d'utiliser
copier/coller, cela permet d'avoir le texte exact et de ne pas se
prendre la tête sur des erreurs de recopie) :
<siteMap xmlns="http://schemas.microsoft.com/AspNet/SiteMap-File-1.0"
>

<siteMapNode title="Catalogue" roles="*">

<siteMapNode url="FrmCatalogue.aspx?id=1" title="A" />

<siteMapNode url="FrmCatalogue.aspx?id=2" title="B" />

</siteMapNode>

</siteMap>

(noter que titre est remplacé par title, que le s est en miniscule
etc...)

Et cela marche donc chez moi !

Rien à voir avec le sujet mais sinon SiteMapNode est une classe, donc
dans le code "intellisense" ne présente effectivement que les
méthode" shared" qui permettent de comparer deux instances (Equals et
ReferenceEquals).

Par contre SiteMap.CurrentNode qui est une instance de la classe
SiteMapNode expose une propriété Title dont la valeur est tirée de
l'attribut Title présent dans le fichier XML.



Si cela ne marche toujours pas. Je ne vois guère comme dernière
solution de poster un fichier .ZIP prêt à l'emploi contenant
UNIQUEMENT le code le plus simple permettant de reproduire le problème
avec le fichier SiteMap (par exemple est-ce que du code présent
ailleurs ne pourrait pas également modifier ce label ou cette variable
de session ?).

--

Patrice

"Jean Claude" a écrit dans le message
de news: 472610ab$0$27383$

je n'ai pas oublié le >, c'est une erreur de copie

par contre avec SiteMapNode il n'y a pas d'attribut titre, il y a
Equals ou ReferenceEquals


"Patrice" <http://www.chez.com/scribe/> a écrit dans le message de
news: %
Il manque un > en fin de première ligne.

XML est sensible à la casse et c'est donc siteMapNode. L'attribut
titre serait plutôt title.

Avec ces modifications cela continue de fonctionner chez moi (je
récupére l'url avec id=1 ou 2 selon que je clique sur le titre A ou
B).

--
Patrice

"Jean Claude" a écrit dans le
message de news: 47260140$0$5087$
Mon siteMape :

<SiteMapNode url="" titre="Catalogue" roles="*"
<SiteMapNode url="FrmCatalogue.aspx?id=1"
titre="A" />
<SiteMapNode url="FrmCatalogue.aspx?id=2"
titre="B" />

......................
"Patrice" <http://www.chez.com/scribe/> a écrit dans le message de
news: %
Donc je dirais que le problème vient des données en provenance du
sitemap. Vérifier que ces données sont bien correctes ?

--
Patrice

"Jean Claude" a écrit dans le
message de news: 4725e3be$0$5089$
Si je déconnecte le treeview des données et j'ajoute A et B comme
dans le code posté précédemment... Le label affiche A ou B en
fonction du noeud cliqué

"Patrice" <http://www.chez.com/scribe/> a écrit dans le message
de news: e%
Cela marche chez moi (avec donc le OnSelectedNodeChanged) !! Le
problème pourrait-il être dans les données (par exemple value
serait incorrecte à la base dans les données) ou dans
l'exploitation ultérieure de la variable de session Choix ?

Déconnecte le treeview des données et ajoute A et B comme dans
le code que j'ai posté précédemment... Le label affiche t'il
bien A ou B en fonction du noeud cliqué ou une autre valeur ?

--
Patrice



"Jean Claude" a écrit dans le
message de news: 4725d1bf$0$5086$
Patrice, voici mon code (sur la page maitre):

Sub Select_Change(ByVal sender As Object, ByVal e As EventArgs)

lblChoix.Text = "Votre sélection: " &
Tvw.SelectedNode.Value

Session("Choix")=Tvw.SelectedNode.Value

End Sub







<asp:TreeView ID="Tvw" runat="server"

OnSelectedNodeChanged="Select_Change"

DataSourceID="sdsPlanSite" ImageSet="Arrows">

</asp:TreeView>

<asp:SiteMapDataSource ID="sdsPlanSite" runat="server"
ShowStartingNode="true" />





"Patrice" <http://www.chez.com/scribe/> a écrit dans le message
de news: u%
Humm... Visiblement y a comme un problème (tvw c'est bien le
treeview qui est affiché par exemple). Je recréerais une page
pour tester voir ce que ça donne.

Bonne continuation.

--
Patrice

"Jean Claude" a écrit dans le
message de news: 4725c4f0$0$25953$
Merci Patrice pour ton aide

sur la master page j'ai ajouté
Protected Sub Tvw_SelectedNodeChanged(ByVal sender As Object,
ByVal e
As System.EventArgs) Handles Tvw.SelectedNodeChanged
Dim LeChoix as string=""
LeChoix = Tvw.SelectedNode.Value
End Sub

Quand je teste la page avec F11 il saute cette procédure


"Patrice" <http://www.chez.com/scribe/> a écrit dans le
message de news:
A titre informatif cela devrait donner quelque chose comme :
Protected Sub TreeView1_SelectedNodeChanged(ByVal sender As
Object, ByVal e As System.EventArgs) Handles
TreeView1.SelectedNodeChanged

TextBox1.Text = TreeView1.SelectedNode.Value

End Sub

Protected Sub Page_Load(ByVal sender As Object, ByVal e As
System.EventArgs) Handles Me.Load

If Not Page.IsPostBack Then

TreeView1.Nodes.Add(New TreeNode("A"))

TreeView1.Nodes.Add(New TreeNode("B"))

End If

End Sub

End Class



avec une Textbox et un treeview. Quand je clique je vois
bien la valeur que je viens de cliquer dans ma textbox.
Vérifier-peut-être du côté de la requête qui n'utiliserait
pas la bonne donnée ???



"Patrice" <http://www.chez.com/scribe/> a écrit dans le
message de news:
A ce stade je suggère :
- faire un test le plus simple possible avec une page
master et une page contenu pour tester si tu as toujours le
problème

Si non, comparer avec la page original devrait permettre de
trouver les différences et le problème. Si oui, tu pourras
poster le code le plus simple possible qui montre le
problème pour que l'on puisse éventuellement voir ce qui ne
va pas...

Bon courage.

--
Patrice

"Jean Claude" a écrit dans
le message de news:
4725b252$0$5096$
Bonjour Patrice

Oui c'est quand je click sur le treeview

Jean Claude
"Patrice" <http://www.chez.com/scribe/> a écrit dans le
message de news: O$
C'est-à-dire ? Est-ce dans l'évènement click du treeview
?

A mon avis c'est un problème de logique. Une page
n'existe que le temps de la requête HTTP. A chaque fois,
la page est donc recrée dans son étét précédent (grâce au
"view state") avant que les données envoyées au serveur
soient utilisées pour mettre à jour la page.

Je pense que l'état du contrôle est lu trop tôt ce qui
retourne donc la valeur précédente...

Cf
http://msdn2.microsoft.com/fr-fr/library/ms178472(VS.80).aspx

---
Patrice

"Jean Claude" a écrit
dans le message de news:
4721df16$0$27401$
Bonjour Patrice

Mon treeview est sur une master page, et cette
information est récupérée sur celle-ci
je veux utiliser la variable LeChoix sur la page envoyée
par le clic du treeview.

Quand je lance l'appli je suis sur la page accueuil
je clic sur le treeview pour afficher la page page1
et j'ai besoin de la variable LeChoix pour lancer une
requete sur la page1 (LeChoix est le where de ma
requete)
hors LeChoix est égal à "Accueil"" alors que je voudrais
qu'il soit "Page1"

J Claude

"Patrice" <http://www.chez.com/scribe/> a écrit dans le
message de news:

Dans quel évènement cette information est-elle
récupérée ?
--
Patrice

"Jean Claude" a écrit
dans le message de news:
4721b1d8$0$27393$
Bonjour

dans une appli web, je veux connaitre la valeur du
node cliqué sur un treeview
mon code :
LeChoix=String.format(SiteMap.CurrentNode.Title)
Je suis obligé de cliquer 2 fois pour avoir le node
selectionné
au premier clic j'obtiens le node parent

Comment faire ?
je suis dans une vrai galère
merci pour vos réponse
Cordialement
J Claude



















































































Avatar
Patrice
Yes !!!

Ce fut dur mais je suis persévérant ;-)

A+ peut-être dans les news...

--
Patrice

"Jean Claude" a écrit dans le message de
news: 47272a42$0$27400$
Merci beaucoup Patrice

Tout est OK

Cordialement
Jean Claude
"Patrice" <http://www.chez.com/scribe/> a écrit dans le message de news:
%
Donc à partir du code que je t"'ai fourni précédemment rien ne t'empêches
d'ajouter un second label pour y mettre le text. Le code devient :
Label1.Text = TreeView1.SelectedNode.Value

Label2.Text = TreeView1.SelectedNode.Text



Dans le label1 tu vois le chemin et dans label2 le text. Pour se brancher
sur la paeg suivante, il faut bien sûr y aller explictement. Le code
devient alors :

Response.Redirect Treeview1.selectednode.Value



Pour le reste si tu veux une présentation horizontale, j'ai l'impression
que tu cherches plus un menu qu'un treeview (donc remplace peut-être le
contrôle treeview par un menu et là tu peux choisir l'orientation du
menu).

--

Patrice

"Jean Claude" a écrit dans le message de
news: 4727124d$0$5089$

Je suis allé trop vite, quand je clic sur le noeud, mon label indique
bien le noeud sélectionné, par contre il n'affiche pas la page contenu
de même dans le DataBindings si je mets ValueField="Url"
quand je clic c'est le chemin qui s'affiche, et si je clic une seconde
fois la page contenu s'affiche

"Patrice" <http://www.chez.com/scribe/> a écrit dans le message de news:
%
Certers mais que constates tu exactement ? Je ne sais que dire d'autre.
Chez moi je suis incapable de reproduire ton problème :

Le site map est :
<?xml version="1.0" encoding="utf-8" ?>

<siteMap xmlns="http://schemas.microsoft.com/AspNet/SiteMap-File-1.0" >

<siteMapNode title="Catalogue" roles="*">

<siteMapNode url="FrmCatalogue.aspx?id=1" title="A" />

<siteMapNode url="FrmCatalogue.aspx?id=2" title="B" />

</siteMapNode>

</siteMap>



Le code de la page master est :

Protected Sub Select_Change(ByVal sender As Object, ByVal e As
System.EventArgs)

Label1.Text = TreeView1.SelectedNode.Value

End Sub

et le balisage :

<%@ Master Language="VB" CodeFile="MasterPage.master.vb"
Inherits="MasterPage" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >

<head runat="server">

<title>Page sans titre</title>

</head>

<body>

<form id="form1" runat="server">

<div>

<asp:TreeView ID="TreeView1" runat="server"
OnSelectedNodeChanged="Select_Change"
DataSourceID="SiteMapDataSource1">

<DataBindings>

<asp:TreeNodeBinding DataMember="SiteMapNode" TextField="Title"
ValueField="Url"/>

</DataBindings>

</asp:TreeView>

<asp:SiteMapDataSource ID="SiteMapDataSource1" runat="server" />

<asp:Label ID="Label1" runat="server"></asp:Label>

<asp:contentplaceholder id="ContentPlaceHolder1" runat="server">

</asp:contentplaceholder>

</div>

</form>

</body>

</html>

La page de contenu est vide (aurait tu qq chose dedans qui mettrait la
pagaille ?).

Ce que je constate :

- si je clique sur A je vois le lien avec id=1

- si je clique sur B je vois le même lien avec id=2



Déjà si tu pars de là cela doit marcher !! Ensuite ajoute peu à peu le
reste (attention aussi à ne pas interpréter un résultat "normal" comme
une erreur par exemple si la page de destinatino est incorrecte elle
pourrait faire croire à tord qu'elle va sur un mauvais lien ?). ...

---

Patrice

"Jean Claude" a écrit dans le message
de news: 4726edc1$0$5096$
Bonjour Patrice

J'ai tout refait, nouveau projet avec page master et plan site
et cela ne marche pas.
Le siteMapPath indique bien le noeud
mais mon label ne l'indique pas

Je suis complétement paumé

Jean Claude
"Patrice" <http://www.chez.com/scribe/> a écrit dans le message de
news: OgmrX%
Je veux dire dans le fichier XML, un attribut est une "propriété"
d'une balise XML. J'ai donc actuellement (merci d'utiliser
copier/coller, cela permet d'avoir le texte exact et de ne pas se
prendre la tête sur des erreurs de recopie) :
<siteMap xmlns="http://schemas.microsoft.com/AspNet/SiteMap-File-1.0"
>

<siteMapNode title="Catalogue" roles="*">

<siteMapNode url="FrmCatalogue.aspx?id=1" title="A" />

<siteMapNode url="FrmCatalogue.aspx?id=2" title="B" />

</siteMapNode>

</siteMap>

(noter que titre est remplacé par title, que le s est en miniscule
etc...)

Et cela marche donc chez moi !

Rien à voir avec le sujet mais sinon SiteMapNode est une classe, donc
dans le code "intellisense" ne présente effectivement que les
méthode" shared" qui permettent de comparer deux instances (Equals et
ReferenceEquals).

Par contre SiteMap.CurrentNode qui est une instance de la classe
SiteMapNode expose une propriété Title dont la valeur est tirée de
l'attribut Title présent dans le fichier XML.



Si cela ne marche toujours pas. Je ne vois guère comme dernière
solution de poster un fichier .ZIP prêt à l'emploi contenant
UNIQUEMENT le code le plus simple permettant de reproduire le
problème avec le fichier SiteMap (par exemple est-ce que du code
présent ailleurs ne pourrait pas également modifier ce label ou cette
variable de session ?).

--

Patrice

"Jean Claude" a écrit dans le
message de news: 472610ab$0$27383$

je n'ai pas oublié le >, c'est une erreur de copie

par contre avec SiteMapNode il n'y a pas d'attribut titre, il y a
Equals ou ReferenceEquals


"Patrice" <http://www.chez.com/scribe/> a écrit dans le message de
news: %
Il manque un > en fin de première ligne.

XML est sensible à la casse et c'est donc siteMapNode. L'attribut
titre serait plutôt title.

Avec ces modifications cela continue de fonctionner chez moi (je
récupére l'url avec id=1 ou 2 selon que je clique sur le titre A ou
B).

--
Patrice

"Jean Claude" a écrit dans le
message de news: 47260140$0$5087$
Mon siteMape :

<SiteMapNode url="" titre="Catalogue" roles="*"
<SiteMapNode url="FrmCatalogue.aspx?id=1"
titre="A" />
<SiteMapNode url="FrmCatalogue.aspx?id=2"
titre="B" />

......................
"Patrice" <http://www.chez.com/scribe/> a écrit dans le message de
news: %
Donc je dirais que le problème vient des données en provenance du
sitemap. Vérifier que ces données sont bien correctes ?

--
Patrice

"Jean Claude" a écrit dans le
message de news: 4725e3be$0$5089$
Si je déconnecte le treeview des données et j'ajoute A et B
comme dans le code posté précédemment... Le label affiche A ou B
en fonction du noeud cliqué

"Patrice" <http://www.chez.com/scribe/> a écrit dans le message
de news: e%
Cela marche chez moi (avec donc le OnSelectedNodeChanged) !! Le
problème pourrait-il être dans les données (par exemple value
serait incorrecte à la base dans les données) ou dans
l'exploitation ultérieure de la variable de session Choix ?

Déconnecte le treeview des données et ajoute A et B comme dans
le code que j'ai posté précédemment... Le label affiche t'il
bien A ou B en fonction du noeud cliqué ou une autre valeur ?

--
Patrice



"Jean Claude" a écrit dans le
message de news: 4725d1bf$0$5086$
Patrice, voici mon code (sur la page maitre):

Sub Select_Change(ByVal sender As Object, ByVal e As
EventArgs)

lblChoix.Text = "Votre sélection: " &
Tvw.SelectedNode.Value

Session("Choix")=Tvw.SelectedNode.Value

End Sub







<asp:TreeView ID="Tvw" runat="server"

OnSelectedNodeChanged="Select_Change"

DataSourceID="sdsPlanSite" ImageSet="Arrows">

</asp:TreeView>

<asp:SiteMapDataSource ID="sdsPlanSite" runat="server"
ShowStartingNode="true" />





"Patrice" <http://www.chez.com/scribe/> a écrit dans le
message de news: u%
Humm... Visiblement y a comme un problème (tvw c'est bien le
treeview qui est affiché par exemple). Je recréerais une page
pour tester voir ce que ça donne.

Bonne continuation.

--
Patrice

"Jean Claude" a écrit dans
le message de news:
4725c4f0$0$25953$
Merci Patrice pour ton aide

sur la master page j'ai ajouté
Protected Sub Tvw_SelectedNodeChanged(ByVal sender As
Object, ByVal e
As System.EventArgs) Handles Tvw.SelectedNodeChanged
Dim LeChoix as string=""
LeChoix = Tvw.SelectedNode.Value
End Sub

Quand je teste la page avec F11 il saute cette procédure


"Patrice" <http://www.chez.com/scribe/> a écrit dans le
message de news:
A titre informatif cela devrait donner quelque chose comme :
Protected Sub TreeView1_SelectedNodeChanged(ByVal sender As
Object, ByVal e As System.EventArgs) Handles
TreeView1.SelectedNodeChanged

TextBox1.Text = TreeView1.SelectedNode.Value

End Sub

Protected Sub Page_Load(ByVal sender As Object, ByVal e As
System.EventArgs) Handles Me.Load

If Not Page.IsPostBack Then

TreeView1.Nodes.Add(New TreeNode("A"))

TreeView1.Nodes.Add(New TreeNode("B"))

End If

End Sub

End Class



avec une Textbox et un treeview. Quand je clique je vois
bien la valeur que je viens de cliquer dans ma textbox.
Vérifier-peut-être du côté de la requête qui n'utiliserait
pas la bonne donnée ???



"Patrice" <http://www.chez.com/scribe/> a écrit dans le
message de news:
A ce stade je suggère :
- faire un test le plus simple possible avec une page
master et une page contenu pour tester si tu as toujours
le problème

Si non, comparer avec la page original devrait permettre
de trouver les différences et le problème. Si oui, tu
pourras poster le code le plus simple possible qui montre
le problème pour que l'on puisse éventuellement voir ce
qui ne va pas...

Bon courage.

--
Patrice

"Jean Claude" a écrit
dans le message de news:
4725b252$0$5096$
Bonjour Patrice

Oui c'est quand je click sur le treeview

Jean Claude
"Patrice" <http://www.chez.com/scribe/> a écrit dans le
message de news: O$
C'est-à-dire ? Est-ce dans l'évènement click du treeview
?

A mon avis c'est un problème de logique. Une page
n'existe que le temps de la requête HTTP. A chaque fois,
la page est donc recrée dans son étét précédent (grâce
au "view state") avant que les données envoyées au
serveur soient utilisées pour mettre à jour la page.

Je pense que l'état du contrôle est lu trop tôt ce qui
retourne donc la valeur précédente...

Cf
http://msdn2.microsoft.com/fr-fr/library/ms178472(VS.80).aspx

---
Patrice

"Jean Claude" a écrit
dans le message de news:
4721df16$0$27401$
Bonjour Patrice

Mon treeview est sur une master page, et cette
information est récupérée sur celle-ci
je veux utiliser la variable LeChoix sur la page
envoyée par le clic du treeview.

Quand je lance l'appli je suis sur la page accueuil
je clic sur le treeview pour afficher la page page1
et j'ai besoin de la variable LeChoix pour lancer une
requete sur la page1 (LeChoix est le where de ma
requete)
hors LeChoix est égal à "Accueil"" alors que je
voudrais qu'il soit "Page1"

J Claude

"Patrice" <http://www.chez.com/scribe/> a écrit dans le
message de news:

Dans quel évènement cette information est-elle
récupérée ?
--
Patrice

"Jean Claude" a écrit
dans le message de news:
4721b1d8$0$27393$
Bonjour

dans une appli web, je veux connaitre la valeur du
node cliqué sur un treeview
mon code :
LeChoix=String.format(SiteMap.CurrentNode.Title)
Je suis obligé de cliquer 2 fois pour avoir le node
selectionné
au premier clic j'obtiens le node parent

Comment faire ?
je suis dans une vrai galère
merci pour vos réponse
Cordialement
J Claude























































































1 2 3