Bonjour à tous,
je viens a vous car je ne parviens pas à me sortir d'une situation pour le moins enervante.
Je construis une page dans lauqelle l'utilisateur va saisir une annonce.
Pour cela, il selectionne un bureau, ce bureau a par défaut un contact que j'affiche dans une textbox avec enabled=false (sur la textbox).
Je propose cependant une modification de ce contact et passe pour cela par un PopupModalExtender dans lequel j'affiche une Datalist de Linkbutton. Au clic sur un linkbutton, je souhaite mettre a jour ma textbox.
Au niveau du code:
ma textbox et le targetcontrolId du popupmodal sont dans un updatePanel englobant.
Ma popup est elle aussi dans un updatePanel car je propose deux types de choix dans la datalist. Ce qui signifie que je dois mettre a jour la popup au clic sur un des deux boutons.
Mon premier updatePanel, celui qui englobe tout ce code a un UpdateMode a Conditional, celui qui contient la datalist est a always.
La datalist est bien mise a jour lorsuque je clique sur un bouton, mais le second updatePanel ne fais pas la mise a jour du textbox comme demandé et le popup ne se ferme pas.
Je met un peu de code pour etre plus clair:
<%-- UPDATE PANEL CONTACT CANDIDAT --%>
<td style="width: 80px; height: 26px;"><asp:Literal ID="LitContact" runat="server" text="<% $ Resources:Resource , RLContactCandidat %>" EnableViewState="false"></asp:Literal> : </td>
<td style="width: 200px; height: 26px;">
<asp:UpdatePanel runat="server" ID="UpdatePanelContactCandidat" UpdateMode="conditional">
<ContentTemplate>
<asp:TextBox ID="TxtContact" runat="server" Width="160px" MaxLength="100" Enabled="false"></asp:TextBox> <asp:ImageButton runat="server" ID="IBContactCandidat" ImageUrl="~/App_Themes/Default/Images/Modif.jpg" Width="30px" Height="30px"/>
<%-- Modal Popup Contact Candidat --%>
<asp:Panel ID="ListeEmployes" runat="server" style="display:none;" CssClass="modalPopup">
<div class="modalPopupHeader">
<div class="TitrePopup"><asp:literal ID="LitTitrePopUp" runat="server" EnableViewState="false" Text="<%$ Resources: Resource, RLListeEmploye %>"></asp:literal></div>
<div class="ClosePopup">
<asp:ImageButton ID="IBEnregistrer" runat="server" ImageUrl="~/images/B_save1.gif" EnableViewState="false" />
<asp:ImageButton ID="IBFermePopup" runat="server" ImageUrl="~/images/B_ClosePopup.gif" EnableViewState="false" />
</div>
</div>
<asp:UpdatePanel ID="UpdatePanelListeEmployes" runat="server" >
<contenttemplate>
<div class="DivButtonPopup">
<asp:LinkButton ID="LBListeEmployesBureau" runat="server" Text="<%$ Resources:resource, RTEmploye %>" CssClass="ButtonPopup" EnableViewState="false"></asp:LinkButton>
<asp:LinkButton ID="LBListeEmployesPays" runat="server" Text="<%$ Resources:resource, RTEmploye %>" CssClass="ButtonPopup" EnableViewState="false"></asp:LinkButton>
</div>
<div class="DivListePopup">
<asp:DataList ID="DLEmploye" runat="server" CssClass="ListePopup" EnableViewState="true" DataKeyField="EMP_ID">
<ItemTemplate>
<asp:LinkButton ID="LinkButton1" runat="server" CommandName="select">
<p>
<span class="Titre4"><%#DirectCast(Container.DataItem, DataRowView)("EMP")%></span>
</p>
</asp:LinkButton>
</ItemTemplate>
<SelectedItemTemplate>
<asp:LinkButton ID="LinkButton1" runat="server" CommandName="select">
<p>
<span class="Titre4"><%#DirectCast(Container.DataItem, DataRowView)("EMP")%></span>
</p>
</asp:LinkButton>
</SelectedItemTemplate>
</asp:DataList>
</div>
<div class="InfoLigne"><asp:Literal ID="NbRows" runat="server" EnableViewState="false" Text=""></asp:Literal></div>
</contenttemplate>
<Triggers>
<asp:AsyncPostBackTrigger ControlID="LBListeEmployesBureau" />
<asp:AsyncPostBackTrigger ControlID="LBListeEmployesPays" />
</Triggers>
</asp:UpdatePanel>
<div class="modalPopupFooter">
</div>
</asp:Panel>
<%-- Modal Popup Contact Candidat--%>
<ajaxControlToolkit:ModalPopupExtender ID="ModalPopupExtenderContactCandidat" runat="server"
TargetControlID="IBContactCandidat"
PopupControlID="ListeEmployes"
BackgroundCssClass="modalBackground"
CancelControlID="IBFermePopup"
Y="50"
/>
</ContentTemplate>
<Triggers>
<asp:AsyncPostBackTrigger ControlID="IBContactCandidat" />
</Triggers>
</asp:UpdatePanel>
</td>