Bonjour,
Je début en ASP.NET. J'ai un tableau d'image que j'affiche sur une page et
un cadre d'image (Image1). Je voudrais, lorsque je clique sur mon image
affiché, qu'il affiche sur image1 (C'est a dire Image1.ImageUrl =
imageCliqué). Merci pour votre aide
Voila mon Code :
<%@ Page Language="vb" %>
<script runat="server">
Sub Page_Load(Sender as Object, e as EventArgs)
If Not Page.IsPostBack Then
'tant que l'on n'a pas encore appliqué un quelconque événement
Dim MesImages As New ArrayList()
' création et assignation d'une variable tableau/array
MesImages.Add("Fleurs.jpg")
MesImages.Add("Fleur2.jpg")
MesImages.Add("PC.gif")
MesImages.Add("Ptiti.gif")
MesImages.Add("bonhomme0035.gif")
'dl.EditItemIndex=0
'permet de spécifier la position de l'élément à modifier
'
' on spécifie la source de données à appliquer à DataList
dl.DataSource = MesImages
' avec DataBind, on associe le DataList à la source de données
dl.DataBind()
End If
End Sub
function Charger(ByVal image as String)
image1.ImageUrl = image
End function
</script>
<html>
<head>
</head>
<body>
<form id="Form1" runat="server">
<p>
<!-- création de la datalist, bien faire correspondre l'ID -->
<asp:DataList id="dl" runat="server"
RepeatDirection="Horizontal">
<HeaderStyle font-bold="True" forecolor="Yellow"
backcolor="silver" />
<HeaderTemplate>
Quelques MesImagess de Wallonie
</HeaderTemplate>
<ItemStyle font-bold="True" forecolor="red"
backcolor="white" />
<ItemTemplate>
<a href=Charger(<%# Container.DataItem%>)> <img src="<%#
Container.DataItem%>" width=
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Olivier Guinart [MS]
Bonjour,
l'appel de ta procedure Charger a l'interieur de ta page html ne peut pas marcher. Le paramatre href doit etre une page web de ton site. Quelque chose comme href="charger.aspx?<%# Container.DataItem%>" respecterait la syntaxe href.
Une autre methode consiste a "envelopper" tes img src="..." par un asp control, pour lequel tu definirais un methode repondant au click du control.
Par exemple (ca a marche pour moi, mais il doit y avoir plus elegant): 0- Mon tableau d'image est devenu global, en le declarant avant le load: Shared MesImages As New ArrayList() 1- J'ai declare "Charger" dans mon datalist: <asp:DataList id="dl" OnItemCommand="Charger" runat="server" RepeatDirection="Horizontal"> qui sera appele quand un click sera effectue 2- Comment definir que c'est le click ? En remplacant ton ItemTemplate par <ItemTemplate> <asp:linkbutton id="SelectButton" CommandName="Select" runat="server"> <Img src="<%# Container.DataItem%>" width="100" height= "100"/> </asp:linkbutton> </ItemTemplate> 4- Raccorder le click et le code qui s'occupera du chargement, juste avant de quitter Load: AddHandler dl.ItemCommand, AddressOf Charger 5- Et Charger: Sub Charger(ByVal sender As Object, ByVal e As DataListCommandEventArgs) Image1.ImageUrl = MesImages(e.Item.ItemIndex) End Sub
Cette deuxieme methode est moins elegante que la premiere conseillee, mais c'est celle qui colle le mieux a ton code actuellement. Mon exemple complet ci-dessous.
Bon courage pour ton projet. Tu ne debutes pas par le plus facile, mais c'est une tres bonne facon d'apprendre.
Amicalement,
Olivier Guinart
-Please do not send email directly to this alias. This alias is for newsgroup purposes only -This posting is provided “AS IS” with no warranties, and confers no rights.
Partial Class _Default Inherits System.Web.UI.Page Shared MesImages As New ArrayList()
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load If Not Page.IsPostBack Then 'tant que l'on n'a pas encore appliqué un quelconque événement ' création et assignation d'une variable tableau/array ' création et assignation d'une variable tableau/array MesImages.Add("Fleurs.jpg") MesImages.Add("Fleur2.jpg") MesImages.Add("PC.gif") MesImages.Add("Ptiti.gif") MesImages.Add("bonhomme0035.gif")
'dl.EditItemIndex=0 'permet de spécifier la position de l'élément à modifier ' ' on spécifie la source de données à appliquer à DataList dl.DataSource = MesImages ' avec DataBind, on associe le DataList à la source de données dl.DataBind() End If
AddHandler dl.ItemCommand, AddressOf Charger End Sub
Sub Charger(ByVal sender As Object, ByVal e As DataListCommandEventArgs) Image1.ImageUrl = MesImages(e.Item.ItemIndex) End Sub End Class
"tipoussin" wrote:
Bonjour, Je début en ASP.NET. J'ai un tableau d'image que j'affiche sur une page et un cadre d'image (Image1). Je voudrais, lorsque je clique sur mon image affiché, qu'il affiche sur image1 (C'est a dire Image1.ImageUrl = imageCliqué). Merci pour votre aide Voila mon Code :
<%@ Page Language="vb" %> <script runat="server">
Sub Page_Load(Sender as Object, e as EventArgs) If Not Page.IsPostBack Then 'tant que l'on n'a pas encore appliqué un quelconque événement Dim MesImages As New ArrayList() ' création et assignation d'une variable tableau/array MesImages.Add("Fleurs.jpg") MesImages.Add("Fleur2.jpg") MesImages.Add("PC.gif") MesImages.Add("Ptiti.gif") MesImages.Add("bonhomme0035.gif")
'dl.EditItemIndex=0 'permet de spécifier la position de l'élément à modifier ' ' on spécifie la source de données à appliquer à DataList dl.DataSource = MesImages ' avec DataBind, on associe le DataList à la source de données dl.DataBind()
End If End Sub
function Charger(ByVal image as String) image1.ImageUrl = image End function
</script> <html> <head> </head> <body> <form id="Form1" runat="server"> <p> <!-- création de la datalist, bien faire correspondre l'ID --> <asp:DataList id="dl" runat="server" RepeatDirection="Horizontal"> <HeaderStyle font-bold="True" forecolor="Yellow" backcolor="silver" /> <HeaderTemplate> Quelques MesImagess de Wallonie </HeaderTemplate> <ItemStyle font-bold="True" forecolor="red" backcolor="white" /> <ItemTemplate> <a href=Charger(<%# Container.DataItem%>)> <img src="<%# Container.DataItem%>" width > "100" height= "100" /></a> </ItemTemplate> <EditItemTemplate> <asp:TextBox text="<%# Container.DataItem%>" runat="server" ID="Textbox1" /> </EditItemTemplate> <AlternatingItemStyle backcolor="Silver" /> </asp:DataList> </p> <p>
l'appel de ta procedure Charger a l'interieur de ta page html ne peut pas
marcher. Le paramatre href doit etre une page web de ton site. Quelque chose
comme href="charger.aspx?<%# Container.DataItem%>" respecterait la syntaxe
href.
Une autre methode consiste a "envelopper" tes img src="..." par un asp
control, pour lequel tu definirais un methode repondant au click du control.
Par exemple (ca a marche pour moi, mais il doit y avoir plus elegant):
0- Mon tableau d'image est devenu global, en le declarant avant le load:
Shared MesImages As New ArrayList()
1- J'ai declare "Charger" dans mon datalist:
<asp:DataList id="dl" OnItemCommand="Charger" runat="server"
RepeatDirection="Horizontal"> qui sera appele quand un click sera effectue
2- Comment definir que c'est le click ? En remplacant ton ItemTemplate par
<ItemTemplate>
<asp:linkbutton id="SelectButton" CommandName="Select"
runat="server">
<Img src="<%# Container.DataItem%>" width="100" height=
"100"/>
</asp:linkbutton>
</ItemTemplate>
4- Raccorder le click et le code qui s'occupera du chargement, juste avant
de quitter Load:
AddHandler dl.ItemCommand, AddressOf Charger
5- Et Charger:
Sub Charger(ByVal sender As Object, ByVal e As DataListCommandEventArgs)
Image1.ImageUrl = MesImages(e.Item.ItemIndex)
End Sub
Cette deuxieme methode est moins elegante que la premiere conseillee, mais
c'est celle qui colle le mieux a ton code actuellement. Mon exemple complet
ci-dessous.
Bon courage pour ton projet. Tu ne debutes pas par le plus facile, mais
c'est une tres bonne facon d'apprendre.
Amicalement,
Olivier Guinart
olivierg@online.microsoft.com
-Please do not send email directly to this alias. This alias is for
newsgroup purposes only
-This posting is provided “AS IS” with no warranties, and confers no rights.
Partial Class _Default
Inherits System.Web.UI.Page
Shared MesImages As New ArrayList()
Protected Sub Page_Load(ByVal sender As Object, ByVal e As
System.EventArgs) Handles Me.Load
If Not Page.IsPostBack Then
'tant que l'on n'a pas encore appliqué un quelconque événement
' création et assignation d'une variable tableau/array
' création et assignation d'une variable tableau/array
MesImages.Add("Fleurs.jpg")
MesImages.Add("Fleur2.jpg")
MesImages.Add("PC.gif")
MesImages.Add("Ptiti.gif")
MesImages.Add("bonhomme0035.gif")
'dl.EditItemIndex=0
'permet de spécifier la position de l'élément à modifier
'
' on spécifie la source de données à appliquer à DataList
dl.DataSource = MesImages
' avec DataBind, on associe le DataList à la source de données
dl.DataBind()
End If
AddHandler dl.ItemCommand, AddressOf Charger
End Sub
Sub Charger(ByVal sender As Object, ByVal e As DataListCommandEventArgs)
Image1.ImageUrl = MesImages(e.Item.ItemIndex)
End Sub
End Class
"tipoussin" wrote:
Bonjour,
Je début en ASP.NET. J'ai un tableau d'image que j'affiche sur une page et
un cadre d'image (Image1). Je voudrais, lorsque je clique sur mon image
affiché, qu'il affiche sur image1 (C'est a dire Image1.ImageUrl =
imageCliqué). Merci pour votre aide
Voila mon Code :
<%@ Page Language="vb" %>
<script runat="server">
Sub Page_Load(Sender as Object, e as EventArgs)
If Not Page.IsPostBack Then
'tant que l'on n'a pas encore appliqué un quelconque événement
Dim MesImages As New ArrayList()
' création et assignation d'une variable tableau/array
MesImages.Add("Fleurs.jpg")
MesImages.Add("Fleur2.jpg")
MesImages.Add("PC.gif")
MesImages.Add("Ptiti.gif")
MesImages.Add("bonhomme0035.gif")
'dl.EditItemIndex=0
'permet de spécifier la position de l'élément à modifier
'
' on spécifie la source de données à appliquer à DataList
dl.DataSource = MesImages
' avec DataBind, on associe le DataList à la source de données
dl.DataBind()
End If
End Sub
function Charger(ByVal image as String)
image1.ImageUrl = image
End function
</script>
<html>
<head>
</head>
<body>
<form id="Form1" runat="server">
<p>
<!-- création de la datalist, bien faire correspondre l'ID -->
<asp:DataList id="dl" runat="server"
RepeatDirection="Horizontal">
<HeaderStyle font-bold="True" forecolor="Yellow"
backcolor="silver" />
<HeaderTemplate>
Quelques MesImagess de Wallonie
</HeaderTemplate>
<ItemStyle font-bold="True" forecolor="red"
backcolor="white" />
<ItemTemplate>
<a href=Charger(<%# Container.DataItem%>)> <img src="<%#
Container.DataItem%>" width >
"100" height= "100" /></a>
</ItemTemplate>
<EditItemTemplate>
<asp:TextBox text="<%# Container.DataItem%>"
runat="server" ID="Textbox1" />
</EditItemTemplate>
<AlternatingItemStyle backcolor="Silver" />
</asp:DataList>
</p>
<p>
l'appel de ta procedure Charger a l'interieur de ta page html ne peut pas marcher. Le paramatre href doit etre une page web de ton site. Quelque chose comme href="charger.aspx?<%# Container.DataItem%>" respecterait la syntaxe href.
Une autre methode consiste a "envelopper" tes img src="..." par un asp control, pour lequel tu definirais un methode repondant au click du control.
Par exemple (ca a marche pour moi, mais il doit y avoir plus elegant): 0- Mon tableau d'image est devenu global, en le declarant avant le load: Shared MesImages As New ArrayList() 1- J'ai declare "Charger" dans mon datalist: <asp:DataList id="dl" OnItemCommand="Charger" runat="server" RepeatDirection="Horizontal"> qui sera appele quand un click sera effectue 2- Comment definir que c'est le click ? En remplacant ton ItemTemplate par <ItemTemplate> <asp:linkbutton id="SelectButton" CommandName="Select" runat="server"> <Img src="<%# Container.DataItem%>" width="100" height= "100"/> </asp:linkbutton> </ItemTemplate> 4- Raccorder le click et le code qui s'occupera du chargement, juste avant de quitter Load: AddHandler dl.ItemCommand, AddressOf Charger 5- Et Charger: Sub Charger(ByVal sender As Object, ByVal e As DataListCommandEventArgs) Image1.ImageUrl = MesImages(e.Item.ItemIndex) End Sub
Cette deuxieme methode est moins elegante que la premiere conseillee, mais c'est celle qui colle le mieux a ton code actuellement. Mon exemple complet ci-dessous.
Bon courage pour ton projet. Tu ne debutes pas par le plus facile, mais c'est une tres bonne facon d'apprendre.
Amicalement,
Olivier Guinart
-Please do not send email directly to this alias. This alias is for newsgroup purposes only -This posting is provided “AS IS” with no warranties, and confers no rights.
Partial Class _Default Inherits System.Web.UI.Page Shared MesImages As New ArrayList()
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load If Not Page.IsPostBack Then 'tant que l'on n'a pas encore appliqué un quelconque événement ' création et assignation d'une variable tableau/array ' création et assignation d'une variable tableau/array MesImages.Add("Fleurs.jpg") MesImages.Add("Fleur2.jpg") MesImages.Add("PC.gif") MesImages.Add("Ptiti.gif") MesImages.Add("bonhomme0035.gif")
'dl.EditItemIndex=0 'permet de spécifier la position de l'élément à modifier ' ' on spécifie la source de données à appliquer à DataList dl.DataSource = MesImages ' avec DataBind, on associe le DataList à la source de données dl.DataBind() End If
AddHandler dl.ItemCommand, AddressOf Charger End Sub
Sub Charger(ByVal sender As Object, ByVal e As DataListCommandEventArgs) Image1.ImageUrl = MesImages(e.Item.ItemIndex) End Sub End Class
"tipoussin" wrote:
Bonjour, Je début en ASP.NET. J'ai un tableau d'image que j'affiche sur une page et un cadre d'image (Image1). Je voudrais, lorsque je clique sur mon image affiché, qu'il affiche sur image1 (C'est a dire Image1.ImageUrl = imageCliqué). Merci pour votre aide Voila mon Code :
<%@ Page Language="vb" %> <script runat="server">
Sub Page_Load(Sender as Object, e as EventArgs) If Not Page.IsPostBack Then 'tant que l'on n'a pas encore appliqué un quelconque événement Dim MesImages As New ArrayList() ' création et assignation d'une variable tableau/array MesImages.Add("Fleurs.jpg") MesImages.Add("Fleur2.jpg") MesImages.Add("PC.gif") MesImages.Add("Ptiti.gif") MesImages.Add("bonhomme0035.gif")
'dl.EditItemIndex=0 'permet de spécifier la position de l'élément à modifier ' ' on spécifie la source de données à appliquer à DataList dl.DataSource = MesImages ' avec DataBind, on associe le DataList à la source de données dl.DataBind()
End If End Sub
function Charger(ByVal image as String) image1.ImageUrl = image End function
</script> <html> <head> </head> <body> <form id="Form1" runat="server"> <p> <!-- création de la datalist, bien faire correspondre l'ID --> <asp:DataList id="dl" runat="server" RepeatDirection="Horizontal"> <HeaderStyle font-bold="True" forecolor="Yellow" backcolor="silver" /> <HeaderTemplate> Quelques MesImagess de Wallonie </HeaderTemplate> <ItemStyle font-bold="True" forecolor="red" backcolor="white" /> <ItemTemplate> <a href=Charger(<%# Container.DataItem%>)> <img src="<%# Container.DataItem%>" width > "100" height= "100" /></a> </ItemTemplate> <EditItemTemplate> <asp:TextBox text="<%# Container.DataItem%>" runat="server" ID="Textbox1" /> </EditItemTemplate> <AlternatingItemStyle backcolor="Silver" /> </asp:DataList> </p> <p>