【问题标题】:How can I refresh gridview in ASP.NET C# after Ajax call and executing static method?在 Ajax 调用和执行静态方法后,如何在 ASP.NET C# 中刷新 gridview?
【发布时间】:2011-03-07 12:09:40
【问题描述】:

调用静态方法(Asp.Net、C#)后,需要在 GridView 中刷新数据。

有可能实现吗?

【问题讨论】:

    标签: c# asp.net gridview static-methods


    【解决方案1】:

    好吧,您可以像这样将获得的数据集/数据表重新绑定到 gridview,

    myGridViewId.DataSource = myDataTable;
    myGridViewId.DataBind();
    

    编辑: 看到评论后:您的意思是不手动提交表单,您可以使用以下javascript代码触发它..

    <script type="text/javascript">
    setTimeout(function(){window.location.reload(true);},timeoutPeriod);
    //timeoutPeriod in milli seconds..
    </script>
    

    【讨论】:

    • 如何在不刷新页面的情况下做到这一点?我需要从静态调用非静态方法。但它不能正常工作。
    • 你没有得到这个问题。我需要执行将绑定 GridView 的非静态方法,但我需要在使用 Ajax 执行静态方法后执行它
    【解决方案2】:

    我知道我在挖坟,但我不得不这样做,而且我花了很长时间才找到一个令人满意的答案。

    如果我正确阅读了这个问题,那么在完成对服务器的一些调用后,您有一个要“刷新”的 girdview。

    所以我假设您正在做一些事情,您正在对网格的数据源进行更改,然后需要通过更改他们正在查看的网格将这些更改反映给客户端。

    我发现了这篇很棒的文章,他们正在讨论动态构建网格视图。 "Using Ajax to create a gird view"

    我发现该方法是我所需要的,只是数据源不是我所需要的,并且它没有详细说明如何格式化该网格中的任何内容(因为没有任何东西可以开始)。

    所以我举了这个例子并创建了一个网络方法来获取我的数据。然后,我在服务器端将数据添加到一个不同的数据表中,该数据表仅包含我需要的字符串,在对其进行操作后,并将其传递回页面。

    然后使用那篇文章中的一些 jQuery,我能够“重新绑定”或更实际地重建网格。

    这样做的缺点是您将无法在您的 aspx 页面中操作您的数据。此方法取决于现有的“模板”行。我管理的网格从一开始就不需要有数据,所以这对我来说很好。如果它确实需要在文档开始时准备好数据,我将需要添加对我的方法的调用以更新网格。

    我希望这对其他人有帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-11-20
      • 2016-10-16
      • 1970-01-01
      • 1970-01-01
      • 2017-08-19
      • 2010-09-16
      • 1970-01-01
      • 2012-11-02
      相关资源
      最近更新 更多