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

Pb sur ImageButton

10 réponses
Avatar
Emilie
Bonjour

Je créé dynamiquement des ImageButton :

Dim ImbG As New ImageButton()

ImbG.ImageUrl = Session("CheminImage")

ImbG.ToolTip = Session("IMGref")

ImbG.Attributes.Add("Target=", "_blank")

ImbG.Attributes.Add("NavigateUrl=", "~/PageNew.aspx")

AddHandler ImbG.Command, AddressOf ImageButton_Command

Quand je clic sur une image je n'ai pas d'affichage de PageNew

Mon code est faux ?

Merci pour vos réponses
Emilie

10 réponses

Avatar
Jérémy Jeanson
Bonjour Emilie,

Logique tu as mélanger attibuts et propriété. Dans ton cas tu cherches
"PostBackUrl"

Dim ImbG As New ImageButton()

ImbG.ImageUrl = Session("CheminImage")

ImbG.ToolTip = Session("IMGref")

ImbG.Attributes.Add("Target=", "_blank")

ImbG.PostBackUrl = "~/PageNew.aspx"

AddHandler ImbG.Command, AddressOf ImageButton_Command
--
Jérémy JEANSON
MCP
http://www.jjeanson.fr
Avatar
Emilie
Merci Jérémy pour ta réponse

La pageNew s'affiche mais ne prends pas le target=_blank

J'ai un autre problème et pas la réponse :

j'ai un gridview qui affiche à l'écran a 5 rows, sur chaque ligne j'ai une
premiere cellule avec une ref, une seconde avec un prix et une troisième
avec une textbox permettant de sisir un nouveau prix (afin de modifier le
prix dans une base Access)
Je boucle sur le gridview avec le code ci-dessous, cela fonctionne j'ai bien
le contenu de la textbox avec la variable LeNewPrix, mais je n'arrive pas à
avoir LaRef
For Each row As GridViewRow In Me.GdvTarif.Rows
Dim LeNewPrix As String = CType(row.FindControl("txtNewPrix"),
WebControls.TextBox).Text

Dim i As Integer = GdvTarif.SelectedIndex

Dim LaRef As String = ""

LaRef = GdvTarif.Rows(0).Cells(0).Text

Next

Emilie
"Jérémy Jeanson" a écrit dans le message de news:
ugCjqNj$
Bonjour Emilie,

Logique tu as mélanger attibuts et propriété. Dans ton cas tu cherches
"PostBackUrl"

Dim ImbG As New ImageButton()

ImbG.ImageUrl = Session("CheminImage")

ImbG.ToolTip = Session("IMGref")

ImbG.Attributes.Add("Target=", "_blank")

ImbG.PostBackUrl = "~/PageNew.aspx"

AddHandler ImbG.Command, AddressOf ImageButton_Command
--
Jérémy JEANSON
MCP
http://www.jjeanson.fr


Avatar
Jérémy Jeanson
Bonjour Emilie,

j'ai reçcu ton mail j'y regarde entre 2 bou de code ;)
--
Jérémy JEANSON
MCP
http://www.jjeanson.fr
Avatar
Jacquouille14
Emilie a écrit :
Merci Jérémy pour ta réponse

La pageNew s'affiche mais ne prends pas le target=_blank

J'ai un autre problème et pas la réponse :

j'ai un gridview qui affiche à l'écran a 5 rows, sur chaque ligne j'ai une
premiere cellule avec une ref, une seconde avec un prix et une troisième
avec une textbox permettant de sisir un nouveau prix (afin de modifier le
prix dans une base Access)
Je boucle sur le gridview avec le code ci-dessous, cela fonctionne j'ai bien
le contenu de la textbox avec la variable LeNewPrix, mais je n'arrive pas à
avoir LaRef



For Each row As GridViewRow In Me.GdvTarif.Rows
Dim LeNewPrix As String = CType(row.FindControl("txtNewPrix"),
WebControls.TextBox).Text
Dim i As Integer = GdvTarif.SelectedIndex
Dim LaRef As String = ""



LaRef = GdvTarif.Rows(0).Cells(0).Text

Next

Emilie






Bonjour Émilie,
Je t'ai suggéré une solution dans le fil précédent sauf que je
l'ai mis en vertical au lieu de horizontal.

autre idée: row est une variable, peut-être mettre
LaRef = GdvTarif.Rows(row).Cells(0).Text
Sinon que donne i ?

--
Jacques dit Jacquouille
Avatar
Emilie
Bonjour

si je met i cela me dit l'index est hors limite quand je lance l'appli (il
est égale à -1)
si je met row cela me dit une valeur de type
System.Web.UI.Webcontrols.GridviewRow ne peut pas être convertie en Integer

Emilie
"Jacquouille14" a écrit dans le message de news:
4a5300fb$0$15151$
Emilie a écrit :
Merci Jérémy pour ta réponse

La pageNew s'affiche mais ne prends pas le target=_blank

J'ai un autre problème et pas la réponse :

j'ai un gridview qui affiche à l'écran a 5 rows, sur chaque ligne j'ai
une premiere cellule avec une ref, une seconde avec un prix et une
troisième avec une textbox permettant de sisir un nouveau prix (afin de
modifier le prix dans une base Access)
Je boucle sur le gridview avec le code ci-dessous, cela fonctionne j'ai
bien le contenu de la textbox avec la variable LeNewPrix, mais je
n'arrive pas à avoir LaRef



For Each row As GridViewRow In Me.GdvTarif.Rows
Dim LeNewPrix As String = CType(row.FindControl("txtNewPrix"),
WebControls.TextBox).Text
Dim i As Integer = GdvTarif.SelectedIndex
Dim LaRef As String = ""



LaRef = GdvTarif.Rows(0).Cells(0).Text

Next

Emilie






Bonjour Émilie,
Je t'ai suggéré une solution dans le fil précédent sauf que je
l'ai mis en vertical au lieu de horizontal.

autre idée: row est une variable, peut-être mettre
LaRef = GdvTarif.Rows(row).Cells(0).Text
Sinon que donne i ?

--
Jacques dit Jacquouille


Avatar
Jacquouille14
Emilie a écrit :
Bonjour

si je met i cela me dit l'index est hors limite quand je lance l'appli (il
est égale à -1)
si je met row cela me dit une valeur de type
System.Web.UI.Webcontrols.GridviewRow ne peut pas être convertie en Integer

Je boucle sur le gridview avec le code ci-dessous, cela fonctionne j'ai
bien le contenu de la textbox avec la variable LeNewPrix, mais je
n'arrive pas à avoir LaRef
For Each row As GridViewRow In Me.GdvTarif.Rows
Dim LeNewPrix As String = CType(row.FindControl("txtNewPrix"),
WebControls.TextBox).Text
Dim i As Integer = GdvTarif.SelectedIndex
Dim LaRef As String = ""
LaRef = GdvTarif.Rows(0).Cells(0).Text

Next







Ta grille ressemble à ça:
en tete col 0 en tete col 1 en tete col 2
laref le prix textbox

I ne peut être bon dans ta boucle car la valeur -1 doit
correspondre au rang des en têtes.
Pas d'idée pour row

- la boucle
'pour parcourir toute la grille sauf le rang d'en tête
- for I% = 1 to GdvTarif.rowcount 'rowcount part de 1 à verifier
Dim LeNewPrix As String = CType(I%.FindControl("txtNewPrix"),
WebControls.TextBox).Text
'I% = valeur du rang
Dim LaRef As String = GdvTarif.Rows(I%).Cells(0).Text
'pour tester tu ajoutes debug.print, laref et tu vérifies
dans la fenêtre debug que tout y est sinon tu ajustes
la boucle
- next

--
Jacques dit Jacquouille
Avatar
Emilie
Bonjour Jacquouille

Quand j'écris ton code cela me dit sur

GdvTarif .rowcount : rowcount n'est pas un membre de
System.Web.UI.Webcontrols.Gridview
et sur I%.FindControl : n'est pas un membre de Integer

Emilie
"Jacquouille14" a écrit dans le message de news:
4a536eb8$0$11913$
Emilie a écrit :
Bonjour

si je met i cela me dit l'index est hors limite quand je lance l'appli
(il
est égale à -1)
si je met row cela me dit une valeur de type
System.Web.UI.Webcontrols.GridviewRow ne peut pas être convertie en
Integer

Je boucle sur le gridview avec le code ci-dessous, cela fonctionne j'ai
bien le contenu de la textbox avec la variable LeNewPrix, mais je
n'arrive pas à avoir LaRef
For Each row As GridViewRow In Me.GdvTarif.Rows
Dim LeNewPrix As String = CType(row.FindControl("txtNewPrix"),
WebControls.TextBox).Text
Dim i As Integer = GdvTarif.SelectedIndex
Dim LaRef As String = ""
LaRef = GdvTarif.Rows(0).Cells(0).Text

Next







Ta grille ressemble à ça:
en tete col 0 en tete col 1 en tete col 2
laref le prix textbox

I ne peut être bon dans ta boucle car la valeur -1 doit
correspondre au rang des en têtes.
Pas d'idée pour row

- la boucle
'pour parcourir toute la grille sauf le rang d'en tête
- for I% = 1 to GdvTarif.rowcount 'rowcount part de 1 à verifier
Dim LeNewPrix As String = CType(I%.FindControl("txtNewPrix"),
WebControls.TextBox).Text
'I% = valeur du rang
Dim LaRef As String = GdvTarif.Rows(I%).Cells(0).Text
'pour tester tu ajoutes debug.print, laref et tu vérifies
dans la fenêtre debug que tout y est sinon tu ajustes
la boucle
- next

--
Jacques dit Jacquouille


Avatar
Jacquouille14
Emilie a écrit :
Bonjour Jacquouille

Quand j'écris ton code cela me dit sur

GdvTarif .rowcount : rowcount n'est pas un membre de
System.Web.UI.Webcontrols.Gridview
et sur I%.FindControl : n'est pas un membre de Integer

si je met i cela me dit l'index est hors limite quand je lance l'appli
(il
est égale à -1)
si je met row cela me dit une valeur de type
System.Web.UI.Webcontrols.GridviewRow ne peut pas être convertie en
Integer

Je boucle sur le gridview avec le code ci-dessous, cela fonctionne j'ai
bien le contenu de la textbox avec la variable LeNewPrix, mais je
n'arrive pas à avoir LaRef
For Each row As GridViewRow In Me.GdvTarif.Rows
Dim LeNewPrix As String = CType(row.FindControl("txtNewPrix"),
WebControls.TextBox).Text
Dim i As Integer = GdvTarif.SelectedIndex
Dim LaRef As String = ""
LaRef = GdvTarif.Rows(0).Cells(0).Text

Next






Ta grille ressemble à ça:
en tete col 0 en tete col 1 en tete col 2
laref le prix textbox






Bonjour Émilie,
Je comprends mais il me faut le temps, c'est les vacances.
Webcontrols est un contrôle de visual web developer express
alors que je réponds en vb2008 express car ça se ressemble.
J'ai trouvé ceci:
dim I% = gdvtarif.rows.count 'retourne le nombre de rows de la grille
donc il est possible de faire le tour de la grille avec.

Ou autre idée dans ton code: LaRef =
GdvTarif.Rows(Webcontrols.GridviewRow.row).Cells(0).Text

A suivre ...
--
Jacques dit Jacquouille
Avatar
Emilie
Ce qui ne fonctionne pas c'est le I% dans
Ctype(I%.FindControl("TxtNewPrix")................

Emilie
"Jacquouille14" a écrit dans le message de news:
4a547219$0$717$
Emilie a écrit :
Bonjour Jacquouille

Quand j'écris ton code cela me dit sur

GdvTarif .rowcount : rowcount n'est pas un membre de
System.Web.UI.Webcontrols.Gridview
et sur I%.FindControl : n'est pas un membre de Integer

si je met i cela me dit l'index est hors limite quand je lance l'appli
(il
est égale à -1)
si je met row cela me dit une valeur de type
System.Web.UI.Webcontrols.GridviewRow ne peut pas être convertie en
Integer

Je boucle sur le gridview avec le code ci-dessous, cela fonctionne
j'ai bien le contenu de la textbox avec la variable LeNewPrix, mais
je n'arrive pas à avoir LaRef
For Each row As GridViewRow In Me.GdvTarif.Rows
Dim LeNewPrix As String = CType(row.FindControl("txtNewPrix"),
WebControls.TextBox).Text
Dim i As Integer = GdvTarif.SelectedIndex
Dim LaRef As String = ""
LaRef = GdvTarif.Rows(0).Cells(0).Text

Next






Ta grille ressemble à ça:
en tete col 0 en tete col 1 en tete col 2
laref le prix textbox






Bonjour Émilie,
Je comprends mais il me faut le temps, c'est les vacances.
Webcontrols est un contrôle de visual web developer express
alors que je réponds en vb2008 express car ça se ressemble.
J'ai trouvé ceci:
dim I% = gdvtarif.rows.count 'retourne le nombre de rows de la grille
donc il est possible de faire le tour de la grille avec.

Ou autre idée dans ton code: LaRef =
GdvTarif.Rows(Webcontrols.GridviewRow.row).Cells(0).Text

A suivre ...
--
Jacques dit Jacquouille


Avatar
Jacquouille14
Emilie a écrit :
Ce qui ne fonctionne pas c'est le I% dans
Ctype(I%.FindControl("TxtNewPrix")................

Emilie
"Jacquouille14" a écrit dans le message de news:
4a547219$0$717$
Emilie a écrit :
Bonjour Jacquouille

Quand j'écris ton code cela me dit sur

GdvTarif .rowcount : rowcount n'est pas un membre de
System.Web.UI.Webcontrols.Gridview
et sur I%.FindControl : n'est pas un membre de Integer

si je met i cela me dit l'index est hors limite quand je lance l'appli
(il
est égale à -1)
si je met row cela me dit une valeur de type
System.Web.UI.Webcontrols.GridviewRow ne peut pas être convertie en
Integer

Je boucle sur le gridview avec le code ci-dessous, cela fonctionne
j'ai bien le contenu de la textbox avec la variable LeNewPrix, mais
je n'arrive pas à avoir LaRef
For Each row As GridViewRow In Me.GdvTarif.Rows
Dim LeNewPrix As String = CType(row.FindControl("txtNewPrix"),
WebControls.TextBox).Text
Dim i As Integer = GdvTarif.SelectedIndex
Dim LaRef As String = ""
LaRef = GdvTarif.Rows(0).Cells(0).Text

Next






Ta grille ressemble à ça:
en tete col 0 en tete col 1 en tete col 2
laref le prix textbox










Bonjour,
Peut-être la solution en essayant ceci:
LaRef = GdvTarif.Rows(row.current).Cells(0).Text
Ou
dim I% = row.current
LaRef = GdvTarif.Rows(i%).Cells(0).Text
Current renvoie la position de for each dans la collection row

Je me demande aussi si le contenu de textbox ne peut pas être
récupéré dans une boucle classique par
Dim LeNewPrix As String =
GdvTarif.Rows(i%).Cells(2).webcontrols.textbox.Text
Ou
GdvTarif.Rows(i%).Cells(2).ctype(webcontrols.textbox.Text,string)
Jacques dit Jacquouille