asp.net - c# onchange event only reload data when timer runs. why? -
i have update panel timer. panel contains repeater has records. use pageddatasource paginate repeater's data. added server method onchange event reloads repeater's page size. event fired when needed data reloads when timer tick executes. therefore, when change page size, need wait entire timer interval see page size changed. explain why happens? appreciated
here's of code
<form id="linksform" runat="server"> <div> <div style="float: left; background-color: white"> <asp:scriptmanager id="scriptmanager1" runat="server"></asp:scriptmanager> <asp:button id="displayalllinksbt" onclick="displayalllinks" runat="server" text="visi"/> <asp:button id="displaynewlinksbt" onclick="displaynewlinks" runat="server" text="nauji" /> <asp:timer id="timerlinks" runat="server" interval="10000" ontick="onlinksrepeatertick"> </asp:timer> <asp:updatepanel id="linkspanel" updatemode="always" runat="server"> <contenttemplate> <div id="loadingimagearea"></div> <table style="border: none;"> <% if (!haspermission) { %> <tr> <th> <td style="color: green;">upvotes</td> <td style="color: red;">downvotes</td> </th> </tr> <% } %> <asp:repeater id="linksrepeater" runat="server"> <itemtemplate> <tr> ... <asp:label id="pagesizelabel" runat="server" text="rodyti"></asp:label> <asp:dropdownlist id="pagesizeselection" width="60" runat="server" onselectedindexchanged="pagesizeselection_selectedindexchanged"> </asp:dropdownlist> </contenttemplate> </asp:updatepanel> </div>
server side:
protected void pagesizeselection_selectedindexchanged(object sender, eventargs e) { var pagesize = int32.parse(pagesizeselection.selectedvalue); sessionhelper.putvalue(pagesizesessionvariable, pagesize); var lastpageindex = math.ceiling( ((float) ((pageddatasource) linksrepeater.datasource).datasourcecount)/ (int)pagesize) - 1; var currentpageindex = ((pageddatasource) linksrepeater.datasource).currentpageindex; if (lastpageindex > 0 && currentpageindex > lastpageindex) { sessionhelper.putvalue(currentpageindexsessionvariable, (int)lastpageindex); } loadlinks(); }
i solved setting autopostback="true"
dropdown list.
Comments
Post a Comment