El repetidor recibe valores de la solicitud (SqlDataSource), que cambia durante la búsqueda y sus valores cambian en consecuencia. Todo sucede de forma asíncrona. Los valores se transfieren al repetidor de la siguiente manera:
<script> function mark() { var markers = [ <asp:Repeater ID="rptMarkers" runat="server" DataSourceID="Osnova"> <ItemTemplate> { "lat": '<%# Eval("lat")%>', "lagg": '<%# Eval("lagg")%>', "url_mark": '<%# Eval("url_mark")%>', "Name_object": '<%# Eval("Имя объекта")%>', "Adress": '<%# Eval("Adress")%>' , "Number_object": '<%# Eval("Number_object")%>', "Raion": '<%# Eval("Raion")%>', "District": '<%# Eval("District")%>', "Tip": '<%# Eval("Tip")%>', "Supervisor": '<%# Eval("Supervisor")%>' } </ItemTemplate> <SeparatorTemplate> , </SeparatorTemplate> </asp:Repeater> ]; } </script>
El problema es que la matriz de "marcadores" en el script no actualiza los valores (los valores de la primera solicitud permanecen allí), aunque cambia el número de filas en el repetidor. Intenté llamar a esta función cada vez que se dispara el panel de actualización, pero los valores aún no cambian:
ScriptManager.RegisterStartupScript(this, GetType(), "text", "mark()", true);