Problème DataList / ImageButton / AJAX
Bonjour,
J'ai une datalist qui contient des messages et un imagebutton qui permet d'afficher le contenu du message.
En gros j'ai affecté un commandArgument et commandName où je rend visible ou non le contenu, je mets à jour la base de donnée et un élément dans le master... J'utilise un scriptManager et UpdatePanel pour que tout se fasse en temps réel et je pense que c'est le problème.
Après je fais d'autres action du style changement du tooltip (afficher/masquer) ...
Mon problème c'est que dans ma page la datalist est dans un tableau avec scroll, et quand je clique sur un message du bas de la liste cette dernière remontre tout en haut... Je pense que le fait que je fasse une modification dans la base de donnée et donc un traitement côté server, cela recharge la page implicitement... je sais pas si vous allez me comprendre lol
Est-il possible que la liste ne remonte pas ? Comment faire ??
Merci pour vos réponses.
Code coté aspx
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
|
<ItemTemplate>
<tr style="background-color:#FFFFFF;height:40px;" id="ligneTest" runat="server">
<td valign="middle" style="width:50px;padding:5px 10px;">
<asp:ImageButton runat="server" ID ="HLByVoirMessage" ToolTip="Afficher le message" ImageUrl="~/include/images/iconeMiniOeil.gif" CommandName="VOIR_MSG" CommandArgument='<%#CType(Container.DataItem, Messagerie).Message%>'/>
<asp:ImageButton ID="ImageBtSupprimerMessage" runat="server" ImageUrl="~/include/images/iconeCorbeille.gif" ToolTip="Supprimer le message" OnClientClick="javascript: if(confirm('Voulez-vous vraiment supprimer ce message ? ') == true) return true; else return false;" CommandName="SUPPRIMER_MSG" CommandArgument='<%#CType(Container.DataItem, Messagerie).Message%>' />
<textarea id="HiddenFDMessage" runat="server" visible="false"><%# DataBinder.Eval(Container.DataItem, "contenuMessage") %></textarea>
</td>
<td align="center" style="width:200px;padding:5px 10px;">
<asp:Label ID="labelDateHeure" runat="server"></asp:Label>
</td>
<td style="padding: 0px 0px 0px 50px; width: 400px; text-align:left;">
<asp:LinkButton ID="lbAfficheContenu" runat="server" CommandName="VOIR_MSG" CommandArgument='<%#CType(Container.DataItem, Messagerie).Message%>'><asp:Label ID="labelResumeMessage" runat="server"></asp:Label></asp:LinkButton>
</td>
</tr>
<tr id="ligneAfficheContenu" runat="server" visible="false">
<td colspan="3" class="tdMessagerie">
<table class="tableAfficheContenu">
<tr>
<td><asp:Label ID="LabelMessage" runat="server" Text="" ></asp:Label></td>
</tr>
</table>
</td>
</tr>
</ItemTemplate> |
coté aspx.vb
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
|
Dim HiddenFDMessage As HtmlTextArea = CType(e.Item.FindControl("HiddenFDMessage"), HtmlTextArea)
Dim LabelMessage As Label = CType(e.Item.FindControl("LabelMessage"), Label)
Dim HLByVoirMessage As ImageButton = CType(e.Item.FindControl("HLByVoirMessage"), ImageButton)
If ligneAfficheContenu.Visible = False Then
ligneAfficheContenu.Visible = True
labelDateHeure.Font.Bold = False
lbAfficheContenu.Font.Bold = False
HLByVoirMessage.ToolTip = "Masquer le message"
LabelMessage.Text = HiddenFDMessage.Value
Else
HLByVoirMessage.ToolTip = "Afficher le message"
ligneAfficheContenu.Visible = False
End If
' 1) modif de l'état du message
msgRetour = majSuppressionMessage(numeroMessage, IDduSite, IDutilisateur, "L")
If msgRetour <> "" Then
labelErreurMsg.Text = msgRetour
End If
' 2) mise à jour du bouton dans le master
Master.mettreAjourMessage = retourneNbMessagesNonLus(IDduSite, IDutilisateur) |