Bonjour à tous,
J'essaie de récupérer par un evenement les donneés d'une balise "Label"n
venant d'un datalist, en cliquant sur un imagebutton.
En faisant un findcontrol je n'y arrive pas ...:
mapage.aspx
--------------
<asp:DataList id="DataList1" runat="server" RepeatColumns="3"
RepeatDirection="Horizontal" OnPreRender="Page_Load">
<itemtemplate>
<asp:Image ID="Image1" runat="server" ImageUrl='<%#
DataBinder.Eval(Container.DataItem, "chemin_image") %>' /><br />
<asp:Label ID="Label1" runat="server" Text='<%#
DataBinder.Eval(Container.DataItem, "nom_image") %>' ></asp:Label><br />
<asp:ImageButton ID="ImageButton1" runat="server"
ImageUrl="~/images/icone-ajouter.gif" OnClick="ImageButton1_Click" />
</itemtemplate>
mapage.aspx.cs
----------------
protected void ImageButton1_Click(object sender, ImageClickEventArgs e)
{
string nom_image > ((Label)(Page.FindControl("DataList1").FindControl("Label1") )). Text ;
//
JE SOUHAITE RECUPERER L'ITEM CLIQUé
SqlConnection myConnection = new
SqlConnection("server=localhost;database=zoom;Trusted_Connection=Yes");
myConnection.Open();
string chemin_image = "~/zoomimages/" + numero_zoom + @"/" +
Session["valeur"] + @"/BR/" + nom_image ;
SqlCommand myCommand = new SqlCommand("INSERT INTO panier_client
(nom_image)" +
" VALUES ('" + nom_image + "')", myConnection);
myCommand.ExecuteNonQuery();
}
Merci de vos conseils,
A+
Bonjour à tous,
J'essaie de récupérer par un evenement les donneés d'une balise "Label"n
venant d'un datalist, en cliquant sur un imagebutton.
En faisant un findcontrol je n'y arrive pas ...:
mapage.aspx
--------------
<asp:DataList id="DataList1" runat="server" RepeatColumns="3"
RepeatDirection="Horizontal" OnPreRender="Page_Load">
<itemtemplate>
<asp:Image ID="Image1" runat="server" ImageUrl='<%#
DataBinder.Eval(Container.DataItem, "chemin_image") %>' /><br />
<asp:Label ID="Label1" runat="server" Text='<%#
DataBinder.Eval(Container.DataItem, "nom_image") %>' ></asp:Label><br />
<asp:ImageButton ID="ImageButton1" runat="server"
ImageUrl="~/images/icone-ajouter.gif" OnClick="ImageButton1_Click" />
</itemtemplate>
mapage.aspx.cs
----------------
protected void ImageButton1_Click(object sender, ImageClickEventArgs e)
{
string nom_image > ((Label)(Page.FindControl("DataList1").FindControl("Label1") )). Text ;
//
JE SOUHAITE RECUPERER L'ITEM CLIQUé
SqlConnection myConnection = new
SqlConnection("server=localhost;database=zoom;Trusted_Connection=Yes");
myConnection.Open();
string chemin_image = "~/zoomimages/" + numero_zoom + @"/" +
Session["valeur"] + @"/BR/" + nom_image ;
SqlCommand myCommand = new SqlCommand("INSERT INTO panier_client
(nom_image)" +
" VALUES ('" + nom_image + "')", myConnection);
myCommand.ExecuteNonQuery();
}
Merci de vos conseils,
A+
Bonjour à tous,
J'essaie de récupérer par un evenement les donneés d'une balise "Label"n
venant d'un datalist, en cliquant sur un imagebutton.
En faisant un findcontrol je n'y arrive pas ...:
mapage.aspx
--------------
<asp:DataList id="DataList1" runat="server" RepeatColumns="3"
RepeatDirection="Horizontal" OnPreRender="Page_Load">
<itemtemplate>
<asp:Image ID="Image1" runat="server" ImageUrl='<%#
DataBinder.Eval(Container.DataItem, "chemin_image") %>' /><br />
<asp:Label ID="Label1" runat="server" Text='<%#
DataBinder.Eval(Container.DataItem, "nom_image") %>' ></asp:Label><br />
<asp:ImageButton ID="ImageButton1" runat="server"
ImageUrl="~/images/icone-ajouter.gif" OnClick="ImageButton1_Click" />
</itemtemplate>
mapage.aspx.cs
----------------
protected void ImageButton1_Click(object sender, ImageClickEventArgs e)
{
string nom_image > ((Label)(Page.FindControl("DataList1").FindControl("Label1") )). Text ;
//
JE SOUHAITE RECUPERER L'ITEM CLIQUé
SqlConnection myConnection = new
SqlConnection("server=localhost;database=zoom;Trusted_Connection=Yes");
myConnection.Open();
string chemin_image = "~/zoomimages/" + numero_zoom + @"/" +
Session["valeur"] + @"/BR/" + nom_image ;
SqlCommand myCommand = new SqlCommand("INSERT INTO panier_client
(nom_image)" +
" VALUES ('" + nom_image + "')", myConnection);
myCommand.ExecuteNonQuery();
}
Merci de vos conseils,
A+
>> --------------
<asp:DataList id="DataList1" runat="server" RepeatColumns="3"
RepeatDirection="Horizontal" OnPreRender="Page_Load">
<itemtemplate>
<asp:Image ID="Image1" runat="server" ImageUrl='<%#
DataBinder.Eval(Container.DataItem, "chemin_image") %>' /><br />
<asp:Label ID="Label1" runat="server" Text='<%#
DataBinder.Eval(Container.DataItem, "nom_image") %>' ></asp:Label><br />
<asp:ImageButton ID="ImageButton1" runat="server"
ImageUrl="~/images/icone-ajouter.gif" OnClick="ImageButton1_Click" />
</itemtemplate>
mapage.aspx.cs
----------------
protected void ImageButton1_Click(object sender, ImageClickEventArgs e)
{
string nom_image >> ((Label)(Page.FindControl("DataList1").FindControl("Label1") )). Text ;
//
JE SOUHAITE RECUPERER L'ITEM CLIQUé
SqlConnection myConnection = new
SqlConnection("server=localhost;database=zoom;Trusted_Connection=Yes");
myConnection.Open();
string chemin_image = "~/zoomimages/" + numero_zoom + @"/" +
Session["valeur"] + @"/BR/" + nom_image ;
SqlCommand myCommand = new SqlCommand("INSERT INTO panier_client
(nom_image)" +
" VALUES ('" + nom_image + "')", myConnection);
myCommand.ExecuteNonQuery();
}
Comme çà de tête je dirais qu'il faudrait prendre la variable sender et
récupérer le Parent du contrôle :
((WebControl)sender).Parent.FindControl("Label1")
>> --------------
<asp:DataList id="DataList1" runat="server" RepeatColumns="3"
RepeatDirection="Horizontal" OnPreRender="Page_Load">
<itemtemplate>
<asp:Image ID="Image1" runat="server" ImageUrl='<%#
DataBinder.Eval(Container.DataItem, "chemin_image") %>' /><br />
<asp:Label ID="Label1" runat="server" Text='<%#
DataBinder.Eval(Container.DataItem, "nom_image") %>' ></asp:Label><br />
<asp:ImageButton ID="ImageButton1" runat="server"
ImageUrl="~/images/icone-ajouter.gif" OnClick="ImageButton1_Click" />
</itemtemplate>
mapage.aspx.cs
----------------
protected void ImageButton1_Click(object sender, ImageClickEventArgs e)
{
string nom_image >> ((Label)(Page.FindControl("DataList1").FindControl("Label1") )). Text ;
//
JE SOUHAITE RECUPERER L'ITEM CLIQUé
SqlConnection myConnection = new
SqlConnection("server=localhost;database=zoom;Trusted_Connection=Yes");
myConnection.Open();
string chemin_image = "~/zoomimages/" + numero_zoom + @"/" +
Session["valeur"] + @"/BR/" + nom_image ;
SqlCommand myCommand = new SqlCommand("INSERT INTO panier_client
(nom_image)" +
" VALUES ('" + nom_image + "')", myConnection);
myCommand.ExecuteNonQuery();
}
Comme çà de tête je dirais qu'il faudrait prendre la variable sender et
récupérer le Parent du contrôle :
((WebControl)sender).Parent.FindControl("Label1")
>> --------------
<asp:DataList id="DataList1" runat="server" RepeatColumns="3"
RepeatDirection="Horizontal" OnPreRender="Page_Load">
<itemtemplate>
<asp:Image ID="Image1" runat="server" ImageUrl='<%#
DataBinder.Eval(Container.DataItem, "chemin_image") %>' /><br />
<asp:Label ID="Label1" runat="server" Text='<%#
DataBinder.Eval(Container.DataItem, "nom_image") %>' ></asp:Label><br />
<asp:ImageButton ID="ImageButton1" runat="server"
ImageUrl="~/images/icone-ajouter.gif" OnClick="ImageButton1_Click" />
</itemtemplate>
mapage.aspx.cs
----------------
protected void ImageButton1_Click(object sender, ImageClickEventArgs e)
{
string nom_image >> ((Label)(Page.FindControl("DataList1").FindControl("Label1") )). Text ;
//
JE SOUHAITE RECUPERER L'ITEM CLIQUé
SqlConnection myConnection = new
SqlConnection("server=localhost;database=zoom;Trusted_Connection=Yes");
myConnection.Open();
string chemin_image = "~/zoomimages/" + numero_zoom + @"/" +
Session["valeur"] + @"/BR/" + nom_image ;
SqlCommand myCommand = new SqlCommand("INSERT INTO panier_client
(nom_image)" +
" VALUES ('" + nom_image + "')", myConnection);
myCommand.ExecuteNonQuery();
}
Comme çà de tête je dirais qu'il faudrait prendre la variable sender et
récupérer le Parent du contrôle :
((WebControl)sender).Parent.FindControl("Label1")
--------------
<asp:DataList id="DataList1" runat="server" RepeatColumns="3"
RepeatDirection="Horizontal" OnPreRender="Page_Load">
<itemtemplate>
<asp:Image ID="Image1" runat="server" ImageUrl='<%#
DataBinder.Eval(Container.DataItem, "chemin_image") %>' /><br />
<asp:Label ID="Label1" runat="server" Text='<%#
DataBinder.Eval(Container.DataItem, "nom_image") %>' ></asp:Label><br
/>
<asp:ImageButton ID="ImageButton1" runat="server"
ImageUrl="~/images/icone-ajouter.gif" OnClick="ImageButton1_Click" />
</itemtemplate>
mapage.aspx.cs
----------------
protected void ImageButton1_Click(object sender, ImageClickEventArgs e)
{
string nom_image >>> ((Label)(Page.FindControl("DataList1").FindControl("Label1") )). Text ;
//
JE SOUHAITE RECUPERER L'ITEM CLIQUé
SqlConnection myConnection = new
SqlConnection("server=localhost;database=zoom;Trusted_Connection=Yes");
myConnection.Open();
string chemin_image = "~/zoomimages/" + numero_zoom + @"/" +
Session["valeur"] + @"/BR/" + nom_image ;
SqlCommand myCommand = new SqlCommand("INSERT INTO panier_client
(nom_image)" +
" VALUES ('" + nom_image + "')", myConnection);
myCommand.ExecuteNonQuery();
}
Comme çà de tête je dirais qu'il faudrait prendre la variable sender et
récupérer le Parent du contrôle :
((WebControl)sender).Parent.FindControl("Label1")
En réalité voici ce que j'essaie de faire:
1) J'ai une datalist contenant un certain nombre d'images piochés dans
une
bdd sql server
J'ai ajouté au template de l'image un imagebutton qui doit me permettre
de
lancer une requete insert.
Or, je dois passer par un evenement onclick pour le faire.
L'id de chaque image est créé lors de la compilation de mon projet, donc
le
"findcontrol" ne peut pas "deviner" de quel id il s'agit. Je pense que
c'est
pour cela que vous me dites de prendre la variable sender - mais je ne
vois
pas très bien comment.
Avant , en asp, je rajoutais dans le lien de mon evenement onclick la
reference en question
(onclick="pagedetraitement.asp?image_n=<%=rs("nom_image")%> et
j'éxecutais
ma requete insert.
En asp.net c#, je peux taper tout mon code (récupération des variables,
connexion à la bdd et requete insert) dans mon fichier aspx.cs.
Mais je crois savoirqu'il est possible aussi de le faire en passant par
les
asp;parameters dans la page aspx elle-meme, grâce aux connexions que je
créé
en mode design avec vwd.
J'avoue donc être perdu entre la bonne méthode à adopter: taper tout le
code
dans le fichier aspx.cs ou passer par le mode de création proposé dans
vwd.
Merci de vos idées et éclaircissments,
A+
--------------
<asp:DataList id="DataList1" runat="server" RepeatColumns="3"
RepeatDirection="Horizontal" OnPreRender="Page_Load">
<itemtemplate>
<asp:Image ID="Image1" runat="server" ImageUrl='<%#
DataBinder.Eval(Container.DataItem, "chemin_image") %>' /><br />
<asp:Label ID="Label1" runat="server" Text='<%#
DataBinder.Eval(Container.DataItem, "nom_image") %>' ></asp:Label><br
/>
<asp:ImageButton ID="ImageButton1" runat="server"
ImageUrl="~/images/icone-ajouter.gif" OnClick="ImageButton1_Click" />
</itemtemplate>
mapage.aspx.cs
----------------
protected void ImageButton1_Click(object sender, ImageClickEventArgs e)
{
string nom_image >>> ((Label)(Page.FindControl("DataList1").FindControl("Label1") )). Text ;
//
JE SOUHAITE RECUPERER L'ITEM CLIQUé
SqlConnection myConnection = new
SqlConnection("server=localhost;database=zoom;Trusted_Connection=Yes");
myConnection.Open();
string chemin_image = "~/zoomimages/" + numero_zoom + @"/" +
Session["valeur"] + @"/BR/" + nom_image ;
SqlCommand myCommand = new SqlCommand("INSERT INTO panier_client
(nom_image)" +
" VALUES ('" + nom_image + "')", myConnection);
myCommand.ExecuteNonQuery();
}
Comme çà de tête je dirais qu'il faudrait prendre la variable sender et
récupérer le Parent du contrôle :
((WebControl)sender).Parent.FindControl("Label1")
En réalité voici ce que j'essaie de faire:
1) J'ai une datalist contenant un certain nombre d'images piochés dans
une
bdd sql server
J'ai ajouté au template de l'image un imagebutton qui doit me permettre
de
lancer une requete insert.
Or, je dois passer par un evenement onclick pour le faire.
L'id de chaque image est créé lors de la compilation de mon projet, donc
le
"findcontrol" ne peut pas "deviner" de quel id il s'agit. Je pense que
c'est
pour cela que vous me dites de prendre la variable sender - mais je ne
vois
pas très bien comment.
Avant , en asp, je rajoutais dans le lien de mon evenement onclick la
reference en question
(onclick="pagedetraitement.asp?image_n=<%=rs("nom_image")%> et
j'éxecutais
ma requete insert.
En asp.net c#, je peux taper tout mon code (récupération des variables,
connexion à la bdd et requete insert) dans mon fichier aspx.cs.
Mais je crois savoirqu'il est possible aussi de le faire en passant par
les
asp;parameters dans la page aspx elle-meme, grâce aux connexions que je
créé
en mode design avec vwd.
J'avoue donc être perdu entre la bonne méthode à adopter: taper tout le
code
dans le fichier aspx.cs ou passer par le mode de création proposé dans
vwd.
Merci de vos idées et éclaircissments,
A+
--------------
<asp:DataList id="DataList1" runat="server" RepeatColumns="3"
RepeatDirection="Horizontal" OnPreRender="Page_Load">
<itemtemplate>
<asp:Image ID="Image1" runat="server" ImageUrl='<%#
DataBinder.Eval(Container.DataItem, "chemin_image") %>' /><br />
<asp:Label ID="Label1" runat="server" Text='<%#
DataBinder.Eval(Container.DataItem, "nom_image") %>' ></asp:Label><br
/>
<asp:ImageButton ID="ImageButton1" runat="server"
ImageUrl="~/images/icone-ajouter.gif" OnClick="ImageButton1_Click" />
</itemtemplate>
mapage.aspx.cs
----------------
protected void ImageButton1_Click(object sender, ImageClickEventArgs e)
{
string nom_image >>> ((Label)(Page.FindControl("DataList1").FindControl("Label1") )). Text ;
//
JE SOUHAITE RECUPERER L'ITEM CLIQUé
SqlConnection myConnection = new
SqlConnection("server=localhost;database=zoom;Trusted_Connection=Yes");
myConnection.Open();
string chemin_image = "~/zoomimages/" + numero_zoom + @"/" +
Session["valeur"] + @"/BR/" + nom_image ;
SqlCommand myCommand = new SqlCommand("INSERT INTO panier_client
(nom_image)" +
" VALUES ('" + nom_image + "')", myConnection);
myCommand.ExecuteNonQuery();
}
Comme çà de tête je dirais qu'il faudrait prendre la variable sender et
récupérer le Parent du contrôle :
((WebControl)sender).Parent.FindControl("Label1")
En réalité voici ce que j'essaie de faire:
1) J'ai une datalist contenant un certain nombre d'images piochés dans
une
bdd sql server
J'ai ajouté au template de l'image un imagebutton qui doit me permettre
de
lancer une requete insert.
Or, je dois passer par un evenement onclick pour le faire.
L'id de chaque image est créé lors de la compilation de mon projet, donc
le
"findcontrol" ne peut pas "deviner" de quel id il s'agit. Je pense que
c'est
pour cela que vous me dites de prendre la variable sender - mais je ne
vois
pas très bien comment.
Avant , en asp, je rajoutais dans le lien de mon evenement onclick la
reference en question
(onclick="pagedetraitement.asp?image_n=<%=rs("nom_image")%> et
j'éxecutais
ma requete insert.
En asp.net c#, je peux taper tout mon code (récupération des variables,
connexion à la bdd et requete insert) dans mon fichier aspx.cs.
Mais je crois savoirqu'il est possible aussi de le faire en passant par
les
asp;parameters dans la page aspx elle-meme, grâce aux connexions que je
créé
en mode design avec vwd.
J'avoue donc être perdu entre la bonne méthode à adopter: taper tout le
code
dans le fichier aspx.cs ou passer par le mode de création proposé dans
vwd.
Merci de vos idées et éclaircissments,
A+
> Si vous n'avez rien touché à la gestion des noms de vos contrôles, ASP
.NET gère les noms des contrôles XHTML de façon hierarchique... Cela est
généré automatiquement et vous n'avez pas à en vous soucier...
Lorsque vous faites un MonControl.FindControl(), ASP .NET recherche un
contrôle faisant parti du même groupe que le contrôle MonControl.
Les DataList génère pour chaque Item "un groupe de contrôle".
Si vous faites FindControl("Label1") sur un Item en particulier, ASP .NET
recherchera un contrôle dont son nom est "Label1" se trouvant dans le
groupe de l'Item et non ailleurs...
En ce qui concerne votre demande pour réaliser :
"pagedetraitement.asp?image_n=<%=rs("nom_image")"
Je vous conseille d'intercepter l'événement DataList.ItemCreated :
Dans cette événement vous recherchez dans l'Item votre contrôle
"ImageButton1", et ensuite vous affectez à la propriété "PostBackUrl" de
ce contrôle votre lien "pageTraitement...". Utilisez la propriété
e.Item.DataItem pour récupéré la "ligne de donnée" attaché à l'Item en
cours de création...
> Si vous n'avez rien touché à la gestion des noms de vos contrôles, ASP
.NET gère les noms des contrôles XHTML de façon hierarchique... Cela est
généré automatiquement et vous n'avez pas à en vous soucier...
Lorsque vous faites un MonControl.FindControl(), ASP .NET recherche un
contrôle faisant parti du même groupe que le contrôle MonControl.
Les DataList génère pour chaque Item "un groupe de contrôle".
Si vous faites FindControl("Label1") sur un Item en particulier, ASP .NET
recherchera un contrôle dont son nom est "Label1" se trouvant dans le
groupe de l'Item et non ailleurs...
En ce qui concerne votre demande pour réaliser :
"pagedetraitement.asp?image_n=<%=rs("nom_image")"
Je vous conseille d'intercepter l'événement DataList.ItemCreated :
Dans cette événement vous recherchez dans l'Item votre contrôle
"ImageButton1", et ensuite vous affectez à la propriété "PostBackUrl" de
ce contrôle votre lien "pageTraitement...". Utilisez la propriété
e.Item.DataItem pour récupéré la "ligne de donnée" attaché à l'Item en
cours de création...
> Si vous n'avez rien touché à la gestion des noms de vos contrôles, ASP
.NET gère les noms des contrôles XHTML de façon hierarchique... Cela est
généré automatiquement et vous n'avez pas à en vous soucier...
Lorsque vous faites un MonControl.FindControl(), ASP .NET recherche un
contrôle faisant parti du même groupe que le contrôle MonControl.
Les DataList génère pour chaque Item "un groupe de contrôle".
Si vous faites FindControl("Label1") sur un Item en particulier, ASP .NET
recherchera un contrôle dont son nom est "Label1" se trouvant dans le
groupe de l'Item et non ailleurs...
En ce qui concerne votre demande pour réaliser :
"pagedetraitement.asp?image_n=<%=rs("nom_image")"
Je vous conseille d'intercepter l'événement DataList.ItemCreated :
Dans cette événement vous recherchez dans l'Item votre contrôle
"ImageButton1", et ensuite vous affectez à la propriété "PostBackUrl" de
ce contrôle votre lien "pageTraitement...". Utilisez la propriété
e.Item.DataItem pour récupéré la "ligne de donnée" attaché à l'Item en
cours de création...
Si vous n'avez rien touché à la gestion des noms de vos contrôles, ASP
.NET gère les noms des contrôles XHTML de façon hierarchique... Cela est
généré automatiquement et vous n'avez pas à en vous soucier...
Lorsque vous faites un MonControl.FindControl(), ASP .NET recherche un
contrôle faisant parti du même groupe que le contrôle MonControl.
Les DataList génère pour chaque Item "un groupe de contrôle".
Si vous faites FindControl("Label1") sur un Item en particulier, ASP
.NET
recherchera un contrôle dont son nom est "Label1" se trouvant dans le
groupe de l'Item et non ailleurs...
En ce qui concerne votre demande pour réaliser :
"pagedetraitement.asp?image_n=<%=rs("nom_image")"
Je vous conseille d'intercepter l'événement DataList.ItemCreated :
Dans cette événement vous recherchez dans l'Item votre contrôle
"ImageButton1", et ensuite vous affectez à la propriété "PostBackUrl" de
ce contrôle votre lien "pageTraitement...". Utilisez la propriété
e.Item.DataItem pour récupéré la "ligne de donnée" attaché à l'Item en
cours de création...
Donc, si j'ai bien compris:
protected void DataList1_ItemCreated(object sender,
DataListItemEventArgs e)
{
ImageButton monitem = ((ImageButton ) e.Item .FindControl
("ImageButton1"));
Label nom_image = ((Label)e.Item.FindControl("Label1"));
monitem.PostBackUrl = "Default3.aspx?id=" + nom_image .Text ;
}
Mais le contenu de nom_image ne passe pas (je ne vois pas comment
utiliser
e.Item.DataItem)...
a+
Si vous n'avez rien touché à la gestion des noms de vos contrôles, ASP
.NET gère les noms des contrôles XHTML de façon hierarchique... Cela est
généré automatiquement et vous n'avez pas à en vous soucier...
Lorsque vous faites un MonControl.FindControl(), ASP .NET recherche un
contrôle faisant parti du même groupe que le contrôle MonControl.
Les DataList génère pour chaque Item "un groupe de contrôle".
Si vous faites FindControl("Label1") sur un Item en particulier, ASP
.NET
recherchera un contrôle dont son nom est "Label1" se trouvant dans le
groupe de l'Item et non ailleurs...
En ce qui concerne votre demande pour réaliser :
"pagedetraitement.asp?image_n=<%=rs("nom_image")"
Je vous conseille d'intercepter l'événement DataList.ItemCreated :
Dans cette événement vous recherchez dans l'Item votre contrôle
"ImageButton1", et ensuite vous affectez à la propriété "PostBackUrl" de
ce contrôle votre lien "pageTraitement...". Utilisez la propriété
e.Item.DataItem pour récupéré la "ligne de donnée" attaché à l'Item en
cours de création...
Donc, si j'ai bien compris:
protected void DataList1_ItemCreated(object sender,
DataListItemEventArgs e)
{
ImageButton monitem = ((ImageButton ) e.Item .FindControl
("ImageButton1"));
Label nom_image = ((Label)e.Item.FindControl("Label1"));
monitem.PostBackUrl = "Default3.aspx?id=" + nom_image .Text ;
}
Mais le contenu de nom_image ne passe pas (je ne vois pas comment
utiliser
e.Item.DataItem)...
a+
Si vous n'avez rien touché à la gestion des noms de vos contrôles, ASP
.NET gère les noms des contrôles XHTML de façon hierarchique... Cela est
généré automatiquement et vous n'avez pas à en vous soucier...
Lorsque vous faites un MonControl.FindControl(), ASP .NET recherche un
contrôle faisant parti du même groupe que le contrôle MonControl.
Les DataList génère pour chaque Item "un groupe de contrôle".
Si vous faites FindControl("Label1") sur un Item en particulier, ASP
.NET
recherchera un contrôle dont son nom est "Label1" se trouvant dans le
groupe de l'Item et non ailleurs...
En ce qui concerne votre demande pour réaliser :
"pagedetraitement.asp?image_n=<%=rs("nom_image")"
Je vous conseille d'intercepter l'événement DataList.ItemCreated :
Dans cette événement vous recherchez dans l'Item votre contrôle
"ImageButton1", et ensuite vous affectez à la propriété "PostBackUrl" de
ce contrôle votre lien "pageTraitement...". Utilisez la propriété
e.Item.DataItem pour récupéré la "ligne de donnée" attaché à l'Item en
cours de création...
Donc, si j'ai bien compris:
protected void DataList1_ItemCreated(object sender,
DataListItemEventArgs e)
{
ImageButton monitem = ((ImageButton ) e.Item .FindControl
("ImageButton1"));
Label nom_image = ((Label)e.Item.FindControl("Label1"));
monitem.PostBackUrl = "Default3.aspx?id=" + nom_image .Text ;
}
Mais le contenu de nom_image ne passe pas (je ne vois pas comment
utiliser
e.Item.DataItem)...
a+
>> Donc, si j'ai bien compris:
protected void DataList1_ItemCreated(object sender,
DataListItemEventArgs e)
{
ImageButton monitem = ((ImageButton ) e.Item .FindControl
("ImageButton1"));
Label nom_image = ((Label)e.Item.FindControl("Label1"));
monitem.PostBackUrl = "Default3.aspx?id=" + nom_image .Text ;
}
Mais le contenu de nom_image ne passe pas (je ne vois pas comment
utiliser
e.Item.DataItem)...
Qu'elle est votre type de source de données qui alimente votre DataList ?
>> Donc, si j'ai bien compris:
protected void DataList1_ItemCreated(object sender,
DataListItemEventArgs e)
{
ImageButton monitem = ((ImageButton ) e.Item .FindControl
("ImageButton1"));
Label nom_image = ((Label)e.Item.FindControl("Label1"));
monitem.PostBackUrl = "Default3.aspx?id=" + nom_image .Text ;
}
Mais le contenu de nom_image ne passe pas (je ne vois pas comment
utiliser
e.Item.DataItem)...
Qu'elle est votre type de source de données qui alimente votre DataList ?
>> Donc, si j'ai bien compris:
protected void DataList1_ItemCreated(object sender,
DataListItemEventArgs e)
{
ImageButton monitem = ((ImageButton ) e.Item .FindControl
("ImageButton1"));
Label nom_image = ((Label)e.Item.FindControl("Label1"));
monitem.PostBackUrl = "Default3.aspx?id=" + nom_image .Text ;
}
Mais le contenu de nom_image ne passe pas (je ne vois pas comment
utiliser
e.Item.DataItem)...
Qu'elle est votre type de source de données qui alimente votre DataList ?
Donc, si j'ai bien compris:
protected void DataList1_ItemCreated(object sender,
DataListItemEventArgs e)
{
ImageButton monitem = ((ImageButton ) e.Item .FindControl
("ImageButton1"));
Label nom_image = ((Label)e.Item.FindControl("Label1"));
monitem.PostBackUrl = "Default3.aspx?id=" + nom_image .Text ;
}
Mais le contenu de nom_image ne passe pas (je ne vois pas comment
utiliser
e.Item.DataItem)...Qu'elle est votre type de source de données qui alimente votre DataList
?
Il s'agit de données qui proviennent d'une bdd sql server.
Lorsque je génère le site, les balises <asp:label> contiennent bel et
bien
les données que je souhaite récupérer lorsque je clique sur l'imagebutton
correspondant.
Voici le résultat de cette génération:
...
<span id="DataList1_ctl00_Label1>12345.jpg</span>
<input type="image" name="DataList1$ctl00$ImageButon1"
id="d¤ataList1_ctl00_ImageButton1" src="image.jpg"/>
...
merci
Donc, si j'ai bien compris:
protected void DataList1_ItemCreated(object sender,
DataListItemEventArgs e)
{
ImageButton monitem = ((ImageButton ) e.Item .FindControl
("ImageButton1"));
Label nom_image = ((Label)e.Item.FindControl("Label1"));
monitem.PostBackUrl = "Default3.aspx?id=" + nom_image .Text ;
}
Mais le contenu de nom_image ne passe pas (je ne vois pas comment
utiliser
e.Item.DataItem)...
Qu'elle est votre type de source de données qui alimente votre DataList
?
Il s'agit de données qui proviennent d'une bdd sql server.
Lorsque je génère le site, les balises <asp:label> contiennent bel et
bien
les données que je souhaite récupérer lorsque je clique sur l'imagebutton
correspondant.
Voici le résultat de cette génération:
...
<span id="DataList1_ctl00_Label1>12345.jpg</span>
<input type="image" name="DataList1$ctl00$ImageButon1"
id="d¤ataList1_ctl00_ImageButton1" src="image.jpg"/>
...
merci
Donc, si j'ai bien compris:
protected void DataList1_ItemCreated(object sender,
DataListItemEventArgs e)
{
ImageButton monitem = ((ImageButton ) e.Item .FindControl
("ImageButton1"));
Label nom_image = ((Label)e.Item.FindControl("Label1"));
monitem.PostBackUrl = "Default3.aspx?id=" + nom_image .Text ;
}
Mais le contenu de nom_image ne passe pas (je ne vois pas comment
utiliser
e.Item.DataItem)...Qu'elle est votre type de source de données qui alimente votre DataList
?
Il s'agit de données qui proviennent d'une bdd sql server.
Lorsque je génère le site, les balises <asp:label> contiennent bel et
bien
les données que je souhaite récupérer lorsque je clique sur l'imagebutton
correspondant.
Voici le résultat de cette génération:
...
<span id="DataList1_ctl00_Label1>12345.jpg</span>
<input type="image" name="DataList1$ctl00$ImageButon1"
id="d¤ataList1_ctl00_ImageButton1" src="image.jpg"/>
...
merci
>> Il s'agit de données qui proviennent d'une bdd sql server.
Lorsque je génère le site, les balises <asp:label> contiennent bel et
bien
les données que je souhaite récupérer lorsque je clique sur l'imagebutton
correspondant.
Voici le résultat de cette génération:
...
<span id="DataList1_ctl00_Label1>12345.jpg</span>
<input type="image" name="DataList1$ctl00$ImageButon1"
id="d¤ataList1_ctl00_ImageButton1" src="image.jpg"/>
Excusez-moi je me suis mal exprimé...
Le résultat de la requête, vous le stocker dans quel type d'élément ? Un
DataSet/DataTable ? Un objet crée par vous même ?
>> Il s'agit de données qui proviennent d'une bdd sql server.
Lorsque je génère le site, les balises <asp:label> contiennent bel et
bien
les données que je souhaite récupérer lorsque je clique sur l'imagebutton
correspondant.
Voici le résultat de cette génération:
...
<span id="DataList1_ctl00_Label1>12345.jpg</span>
<input type="image" name="DataList1$ctl00$ImageButon1"
id="d¤ataList1_ctl00_ImageButton1" src="image.jpg"/>
Excusez-moi je me suis mal exprimé...
Le résultat de la requête, vous le stocker dans quel type d'élément ? Un
DataSet/DataTable ? Un objet crée par vous même ?
>> Il s'agit de données qui proviennent d'une bdd sql server.
Lorsque je génère le site, les balises <asp:label> contiennent bel et
bien
les données que je souhaite récupérer lorsque je clique sur l'imagebutton
correspondant.
Voici le résultat de cette génération:
...
<span id="DataList1_ctl00_Label1>12345.jpg</span>
<input type="image" name="DataList1$ctl00$ImageButon1"
id="d¤ataList1_ctl00_ImageButton1" src="image.jpg"/>
Excusez-moi je me suis mal exprimé...
Le résultat de la requête, vous le stocker dans quel type d'élément ? Un
DataSet/DataTable ? Un objet crée par vous même ?
Il s'agit de données qui proviennent d'une bdd sql server.
Lorsque je génère le site, les balises <asp:label> contiennent bel et
bien
les données que je souhaite récupérer lorsque je clique sur
l'imagebutton
correspondant.
Voici le résultat de cette génération:
...
<span id="DataList1_ctl00_Label1>12345.jpg</span>
<input type="image" name="DataList1$ctl00$ImageButon1"
id="d¤ataList1_ctl00_ImageButton1" src="image.jpg"/>
Excusez-moi je me suis mal exprimé...
Le résultat de la requête, vous le stocker dans quel type d'élément ? Un
DataSet/DataTable ? Un objet crée par vous même ?
Dans mon evenement, je cree une connexion à ma base et je lance une
requete
insert, comme ceci:
"
SqlConnection maconnexion = new
SqlConnection("server=localhost;database=mabdd; Trusted_Connection=Yes");
maconnexion.Open();
SqlCommand macommande = new SqlCommand ("INSERTO INTO...", maconnexion)
macommande.ExecutennQuery();
"
merci
Il s'agit de données qui proviennent d'une bdd sql server.
Lorsque je génère le site, les balises <asp:label> contiennent bel et
bien
les données que je souhaite récupérer lorsque je clique sur
l'imagebutton
correspondant.
Voici le résultat de cette génération:
...
<span id="DataList1_ctl00_Label1>12345.jpg</span>
<input type="image" name="DataList1$ctl00$ImageButon1"
id="d¤ataList1_ctl00_ImageButton1" src="image.jpg"/>
Excusez-moi je me suis mal exprimé...
Le résultat de la requête, vous le stocker dans quel type d'élément ? Un
DataSet/DataTable ? Un objet crée par vous même ?
Dans mon evenement, je cree une connexion à ma base et je lance une
requete
insert, comme ceci:
"
SqlConnection maconnexion = new
SqlConnection("server=localhost;database=mabdd; Trusted_Connection=Yes");
maconnexion.Open();
SqlCommand macommande = new SqlCommand ("INSERTO INTO...", maconnexion)
macommande.ExecutennQuery();
"
merci
Il s'agit de données qui proviennent d'une bdd sql server.
Lorsque je génère le site, les balises <asp:label> contiennent bel et
bien
les données que je souhaite récupérer lorsque je clique sur
l'imagebutton
correspondant.
Voici le résultat de cette génération:
...
<span id="DataList1_ctl00_Label1>12345.jpg</span>
<input type="image" name="DataList1$ctl00$ImageButon1"
id="d¤ataList1_ctl00_ImageButton1" src="image.jpg"/>
Excusez-moi je me suis mal exprimé...
Le résultat de la requête, vous le stocker dans quel type d'élément ? Un
DataSet/DataTable ? Un objet crée par vous même ?
Dans mon evenement, je cree une connexion à ma base et je lance une
requete
insert, comme ceci:
"
SqlConnection maconnexion = new
SqlConnection("server=localhost;database=mabdd; Trusted_Connection=Yes");
maconnexion.Open();
SqlCommand macommande = new SqlCommand ("INSERTO INTO...", maconnexion)
macommande.ExecutennQuery();
"
merci
>> Dans mon evenement, je cree une connexion à ma base et je lance une
requete
insert, comme ceci:
SqlConnection maconnexion = newSqlConnection("server=localhost;database=mabdd; Trusted_Connection=Yes");
maconnexion.Open();
SqlCommand macommande = new SqlCommand ("INSERTO INTO...", maconnexion)
macommande.ExecutennQuery();
OK, mais les données de ton DataList elles proviennent bien d'un SELECT de
ta base ? Et tu le stock où ce résultat ?
>> Dans mon evenement, je cree une connexion à ma base et je lance une
requete
insert, comme ceci:
SqlConnection maconnexion = new
SqlConnection("server=localhost;database=mabdd; Trusted_Connection=Yes");
maconnexion.Open();
SqlCommand macommande = new SqlCommand ("INSERTO INTO...", maconnexion)
macommande.ExecutennQuery();
OK, mais les données de ton DataList elles proviennent bien d'un SELECT de
ta base ? Et tu le stock où ce résultat ?
>> Dans mon evenement, je cree une connexion à ma base et je lance une
requete
insert, comme ceci:
SqlConnection maconnexion = newSqlConnection("server=localhost;database=mabdd; Trusted_Connection=Yes");
maconnexion.Open();
SqlCommand macommande = new SqlCommand ("INSERTO INTO...", maconnexion)
macommande.ExecutennQuery();
OK, mais les données de ton DataList elles proviennent bien d'un SELECT de
ta base ? Et tu le stock où ce résultat ?