Bonjour,
désolé de ne pas pouvoir être plus actif que ça pour l'instant, mais j'ai tellement de boulot que ça m'est impossible...
Sinon concernant ce sujet, voici quelques infos complémentaires :
- la case à cocher "partial rendering" applique un "update panel" sur tous les controles présents dans la page et effectivement lors d'un rafraichissement partiel le code javascript ou les styles appliqués sur la partie rafraichie n'est pas à nouveau appliquer, ce qui fait que tous les modules ne peuvent pas être ajaxisés aussi facilement. Il faut donc ajaxiser le module manuellement en ajoutant les updatepanel soit même et en faisant exécuter une fonction javascript capable de recharger la feuille de style ou les javascript à appliquer sur la partie rafraichie.
Je me suis amusé à ajaxisé le module "statistiques" \admin\Log\sitelog.ascx dont voici le code :
<%@ Register TagPrefix="dnn" TagName="Label" Src="~/controls/LabelControl.ascx" %>
<%@ Control Inherits="DotNetNuke.Modules.Admin.SiteLog.SiteLog" language="vb" AutoEventWireup="false" Explicit="True" CodeFile="SiteLog.ascx.vb" %>
<table class="Settings" cellspacing="2" cellpadding="2" summary="Site Log Design Table" border="0" width="450">
<tr vAlign="top">
<td class="SubHead" width="150"><dnn:label id="plReportType" runat="server" controlname="cboReportType" suffix=":"></dnn:label></td>
<td class="NormalBold" align="left" width="325">
<asp:DropDownList ID="cboReportType" Runat="server" DataValueField="value" DataTextField="text" CssClass="NormalTextBox"></asp:DropDownList>
</td>
</tr>
<tr>
<td class="SubHead" width="150"><dnn:label id="plStartDate" runat="server" controlname="txtStartDate" suffix=":"></dnn:label></td>
<td class="NormalBold" align="left" width="325">
<asp:TextBox id="txtStartDate" CssClass="NormalTextBox" runat="server" width="120" Columns="20"></asp:TextBox>
<asp:HyperLink id="cmdStartCalendar" resourcekey="Calendar" Runat="server" CssClass="CommandButton">Calendar</asp:HyperLink>
</td>
</tr>
<tr>
<td class="SubHead" width="150"><dnn:label id="plEndDate" runat="server" controlname="txtEndDate" suffix=":"></dnn:label></td>
<td class="NormalBold" align="left" width="325">
<asp:TextBox id="txtEndDate" CssClass="NormalTextBox" runat="server" width="120" Columns="20"></asp:TextBox>
<asp:HyperLink id="cmdEndCalendar" resourcekey="Calendar" Runat="server" CssClass="CommandButton">Calendar</asp:HyperLink>
</td>
</tr>
<tr>
<td class="NormalBold" vAlign="top" align="center" colspan="2">
<asp:UpdatePanel ID="UpdatePanelBoutons" runat="server">
<ContentTemplate>
<asp:LinkButton id="cmdDisplay" resourcekey="cmdDisplay" cssclass="CommandButton" Text="Display" runat="server" />
<asp:LinkButton id="cmdCancel" resourcekey="cmdCancel" CssClass="CommandButton" runat="server">Cancel</asp:LinkButton>
</ContentTemplate>
</asp:UpdatePanel>
</td>
</tr>
</table>
<br>
<table><tr><td align="center">
<asp:UpdateProgress ID="UpdateProgress1" runat="server" AssociatedUpdatePanelID="UpdatePanelBoutons">
<ProgressTemplate><asp:image id="updating1" Imageurl="~/Images/ajax-loader.gif" runat="server"/></ProgressTemplate>
</asp:UpdateProgress>
</td></tr></table>
<asp:UpdatePanel ID="UpdatePanelResultats" runat="server">
<ContentTemplate>
<asp:datagrid id="grdLog" Width="750" Runat="server" Border="0" CellPadding="4" CellSpacing="4"
AutoGenerateColumns="true" HeaderStyle-CssClass="NormalBold"
ItemStyle-CssClass="Normal" HeaderStyle-HorizontalAlign="Center"
ItemStyle-HorizontalAlign="Center" BorderStyle="None"
BorderWidth="0px" GridLines="None">
</asp:datagrid>
</ContentTemplate>
</asp:UpdatePanel>
<br>
et à ajouter dans le code vb associé :
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Try
If DotNetNuke.Framework.AJAX.IsInstalled Then
DotNetNuke.Framework.AJAX.RegisterScriptManager()
End If
Pour créer l'image d'attente :
http://www.ajaxload.info/#preview
et rien ne vous empêche aussi d'utiliser l'ensembles des controles de l'ajax toolkit http://ajax.asp.net/ajaxtoolkit/
Roland