asp.net刷新网格而不重新加载页面

发布于 2024-11-26 03:46:02 字数 410 浏览 3 评论 0原文

我有一个 Asp.Net Gridview ,它绑定到代码隐藏文件中的 DataSet 。单击页面上的按钮时会发生此 gridview 绑定。但是单击该按钮后,整个页面都会刷新...并且该页面上已有预先存在的 Asp.Net 图表,该图表由于页面刷新而消失。

现在,我可以使用更新面板来避免这种情况。但是按钮和网格应该位于更新面板的同一 Div 中。对我来说,按钮位于页面的其他位置......网格位于底部的某个位置。

无论如何,有没有办法只重新加载网格而不干扰页面中的其他元素。现在请不要用 updatePanel 回答,因为我已经使用过它并且您知道问题所在。如果您有更好的解决方案或使用 AJAX,请回答这个问题。

非常感谢,

曼尼什

I have a Asp.Net Gridview which is binded to a DataSet in the code behind file. This gridview binding happens on click of a button the page. But on click of that button, the whole page is refreshed... and I have pre-existing Asp.Net chart on that page which disappears due to page refresh.

Now, I can avoid this using a update panel.. but the button and grid should be in the same Div of update panel. For me, the button is somewhere else in the page... and the grid is somewhere in the bottom.

Is there anyway to reload only the grid without disturbing other elements in the page.. now please don't answer with updatePanel, coz I've used it and you know the problem. Please answer this if you've had a better solution or with AJAX.

Thanks a lot,

Manish

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

债姬 2024-12-03 03:46:02

现在,我可以使用更新面板来避免这种情况。但是按钮和网格应该位于更新面板的同一 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>

现在您已经看到了 - 页面某一部分中的一个按钮触发页面另一部分的更新面板中的异步回发。

Now, I can avoid this using a update panel.. but the button and grid should be in the same Div of update panel. For me, the button is somewhere else in the page... and the grid is somewhere in the bottom.

Not a problem!

<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>

And there you have it - a button in one part of the page triggering an async-postback in an Update Panel in a different part of the page.

白日梦 2024-12-03 03:46:02

现在,我可以使用更新面板来避免这种情况..但是按钮和网格
应该在更新面板的同一Div中。对我来说,按钮是
页面中的其他位置...网格位于底部的某个位置

只需使用更新面板的触发器

 </asp:UpdatePanel>
 ....
     <Triggers>
         <asp:AsyncPostBackTrigger ControlID="Button1" EventName="Click" />
     </Triggers>
 </asp:UpdatePanel>

Now, I can avoid this using a update panel.. but the button and grid
should be in the same Div of update panel. For me, the button is
somewhere else in the page... and the grid is somewhere in the bottom

Just use triggers for your update panel

 </asp:UpdatePanel>
 ....
     <Triggers>
         <asp:AsyncPostBackTrigger ControlID="Button1" EventName="Click" />
     </Triggers>
 </asp:UpdatePanel>
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文