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
coté aspx.vb
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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>
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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)
Partager