emmanuelcastellani
Messages postés4Date d'inscriptionjeudi 22 janvier 2004StatutMembreDernière intervention27 décembre 2007
-
27 déc. 2007 à 15:19
jesusonline
Messages postés6814Date d'inscriptiondimanche 15 décembre 2002StatutMembreDernière intervention13 octobre 2010
-
27 déc. 2007 à 16:42
Bonjour,
Je suis nouveau et sur ce forum, et en asp.net.
Ma problématique me semble simple, mais je n'ai malheureusement pas réussi à trouver ce qu'il faut pour la solutioner...
En gros: j'ai un control asp image button créé dans la Page_Load de ma page:
ImageButton on =
new
ImageButton();
on.ImageUrl =
"\\IPhone\\App_Themes\\Green\\LIGHT_ON_UP.png";
on.ID =
"gc_on" + servicecontent.globalControl.Id;
on.CommandName =
"switchOn";
on.CommandArgument = servicecontent.globalControl.Id;
on.Command +=
new
CommandEventHandler(ImageButton_Command);
on.Attributes.Add(
"OnMouseDown",
"this.src = '/IPhone/App_Themes/Green/LIGHT_ON_DOWN.png'");
on.CssClass =
"lightcircuit_global_control";
Je rajoute ce button dans un placeholder:
GlobalPlaceHolder.Controls.Add(on);
Mon placeholder étant lui même contenu dans un UpdatePanel:
<
asp:UpdatePanel
ID="UpdatePanel1"
runat="server">
<ContentTemplate>
<asp:PlaceHolder
ID="GlobalPlaceHolder"
runat="server"/>
</ContentTemplate>
</asp:UpdatePanel>
J'ai du traitement à faire sur l'èvenement click du boutton, mais j'aimerais que la page ne se recharge pas entièrement sur le clique...
Ca ne parrait pas bien sorcier, mais là je bloque !
jesusonline
Messages postés6814Date d'inscriptiondimanche 15 décembre 2002StatutMembreDernière intervention13 octobre 201029 27 déc. 2007 à 15:29
Bonjour,
pk utiliser un placeholder et créer ton imagebutton dynamiquement ? c'est source d'erreur ça ! rajoute ton imagebutton directement dans le .aspx puis manipule ces propriétés ensuite dans le code behind. Car là je pense que tu ne recréé pas l'imagebutton quand il faut lors du postback donc ASP.net ne comprend pas qui fait quoi ....
emmanuelcastellani
Messages postés4Date d'inscriptionjeudi 22 janvier 2004StatutMembreDernière intervention27 décembre 2007 27 déc. 2007 à 15:42
Hello,
J'ai besoin de créer mes boutons de manière dynamique...
J'ai tout d'abord essayer de créer ces boutons dans la page aspx elle même en faisant un truc du genre:
<%
foreach
(ClientComSDK.Data.
RGPObject
obj
in
servicecontent.devices)
{
%>
<
asp
:
ImageButton
ID
="btOn"
runat
="server"
CommandArgument
="
<%#device.id%>
"
CommandName
="SwitchOn"
OnCommand
="CommandHandler"
/>
<
asp
:
ImageButton
ID
="btOff"
runat
="server"
CommandArgument
="
<%#device.id%>
"
CommandName
="SwitchOff"
OnCommand
="CommandHandler"
/>
<%
}
%>
Mais malheureusement ça ne fonctionnait pas, la valeur de CommandArgument de mes boutons était toujours vide. Il semblerait que les tag génèrent leur code avant que ma boucle ne soit exécuter.
D'où la création de ces même boutons dans le Page_Load...
N'y aurait-il pas moyen de signifier quelque part dans mes boutons ou dans mon update pannel lui même (peut etre au moyen d'AsyncPostBack trigger) de ne recharger que la partie dans l'update panel??
jesusonline
Messages postés6814Date d'inscriptiondimanche 15 décembre 2002StatutMembreDernière intervention13 octobre 201029 27 déc. 2007 à 16:42
faudrait voir comment ru le récupere mais oublie l'utilisation des <% %> dans les .aspx c'est à bannir sauf pour les <%= %> ou <%# %> on fait pas de boucle dans un .aspx ! (sinon on retourne à la préhistoire (et on fait du PHP ;)))