asp.net обновляет сетку без перезагрузки страницы - PullRequest
0 голосов
/ 24 июля 2011

У меня есть Asp.Net Gridview, который связан с DataSet в коде файла. Эта привязка gridview происходит по нажатию кнопки на странице. Но при нажатии этой кнопки вся страница обновляется ... и на этой странице уже есть диаграмма Asp.Net, которая исчезает из-за обновления страницы.

Теперь я могу избежать этого, используя панель обновления ... но кнопка и сетка должны находиться в одном и том же элементе Div панели обновления. Для меня кнопка находится где-то еще на странице ... и сетка находится где-то внизу.

Есть ли возможность перезагрузить только сетку, не мешая другим элементам на странице ... теперь, пожалуйста, не отвечайте с updatePanel, потому что я использовал это, и вы знаете проблему. Пожалуйста, ответьте на это, если у вас есть лучшее решение или с AJAX.

Большое спасибо,

Manish

Ответы [ 2 ]

1 голос
/ 25 июля 2011

Теперь я могу избежать этого, используя панель обновления ... но кнопка и сетка должен быть в том же Div панели обновления. Для меня кнопка где-то еще на странице ... а сетка где-то внизу

Просто используйте триггеры для панели обновления

 </asp:UpdatePanel>
 ....
     <Triggers>
         <asp:AsyncPostBackTrigger ControlID="Button1" EventName="Click" />
     </Triggers>
 </asp:UpdatePanel>
1 голос
/ 24 июля 2011

Теперь я могу избежать этого, используя панель обновления ... но кнопка и сетка должны находиться в одном и том же элементе Div панели обновления.Для меня кнопка где-то еще на странице ... а сетка где-то внизу.

Не проблема!

<script type="text/javascript">
    function click(id) {
        var btn = document.getElementById(id);
        btn.click();
    }
</script>

<asp:Button id="btnToClick" runat="server" Text="Click me!" 
   OnClientClick="javascript:click('<%=btnThatLoads.ClientId %>');return false" />

<asp:UpdatePanel id="upnl" runat="server">
    <ContentTemplate>
        //Your grid goes here

        <asp:Button id="btnThatLoads" runat="server" 
          onclick="loadGrid" style="display: hidden;" />
    </ContentTemplate>
</asp:UpdatePanel>

И вот она у вас есть- кнопка в одной части страницы, запускающая асинхронную обратную передачу на панели обновления в другой части страницы.

...