Bonjour,
J'ai une question relativement simple, je pense.
Je souhaite afficher le contenu d'un panel en utilisant l'évenement onclick sur un élément du datalist.
Je m'explique...
J'ai une datalist, que je rempli dynamiquement avec des databind du style:
1 2 3 4 5 6 7 8 9 10 11 12 13
| <asp:DataList ID="liste" runat="server"
onselectedindexchanged="liste_SelectedIndexChanged" >
<SelectedItemStyle BorderColor="#3366FF" orderStyle="Outset" BorderWidth="2px" />
<ItemTemplate>
<asp:Panel id="paneltoto">
<%# DataBinder.Eval(Container.DataItem, "cd_machine") %>
...
<asp:linkbutton ID="lbVoir"
CommandArgument='<%# DataBinder.Eval(Container.DataItem, "cd_machine")%>'
Text='Voir' CommandName="Select" style="" runat="server" />
</asp:Panel>
</ItemTemplate>
</asp:DataList> |
J'ai ensuite une autre zone (zoneStats) que je veux afficher avec un onclick sur un élément de la liste. Pour l'instant je ne l'affiche qu'en cliquant sur l'hyperlink de ma liste, avec un trigger:
1 2 3 4 5 6 7 8
| <asp:UpdatePanel ID="UpdatePanel2" runat="server" UpdateMode="Conditional" >
<Triggers>
<asp:AsyncPostBackTrigger ControlID="liste" />
</Triggers>
<ContentTemplate>
<asp:Panel ID="zoneStats" runat="server" />
</ContentTemplate>
</asp:UpdatePanel> |
J'ai après un code serveur qui se charge de remplir la zone:
1 2 3 4 5 6 7 8 9 10
| protected void liste_SelectedIndexChanged(object sender, EventArgs e)
{
zoneStats.Visible = true;
remplirZoneStats(...);
}
protected void remplirZoneStats(int machine)
{
....
} |
Je voudrais pouvoir appeler cette méthode serveur à partir d'un code javascript que j'aurais créé moi même, et ne pas être cantonné à l'utilisation d'un hyperlink asp... En effet, le trigger pour l'update de mon panel "zoneStats" est lié par défaut à l'hyperlink, je ne sais pas comment faire autrement.
Me suis-je fais comprendre?
En gros avoir une utilisation d'Ajax "classique", telle que l'on peut l'avoir dans jQuery :
<div id="zoneStats" onclick="$(this).load('calcul_serveur.aspx')">
Donc... Quelle est la syntaxe à utiliser côté client en ASP.NET pour charger le résultat de l'exécution d'une méthode serveur??? Est-il possible de ne faire exécuter au serveur qu'UNE méthode ?
Merci d'avance.
Partager