在没有页面加载的情况下生成网格视图

Generate GridView without pageload

本文关键字:情况下 网格 视图 加载      更新时间:2023-09-26

目前,我正在通过调用 API 并使用响应作为值来填充 ASP.NET 网格视图。

这是使用.aspx页面,但是我希望在不进行回发的情况下填充网格视图。

阿斯普克斯

<div class="scroll" style="min-width: 310px; height: 400px; margin: 0 auto" 
     id="gridDiv" runat="server" visible="false">
    <asp:GridView ID="GridView" runat="server">
        <Columns>
            //columns
        </Columns>
    </asp:GridView>
</div>

C#

public void populateGrid()
{        
    DataTable dt = new DataTable();
    // add values to dt 
    GridView.DataSource = dt;
    GridView.DataBind();
}

有没有办法使用 Javascript,我可以调用 API 来检索值并填充网格视图而无需回发?

Gridview 是一个服务器控件,因此它需要所有服务器端魔术才能使其工作。 如果要更新网格客户端,则需要使用其他解决方案。 不是 asp.net 服务器控件。

您所说的GridView控件是 ASP.NET 服务器控件,因此它需要服务器端 WebForms 引擎来分析控件并生成 HTML 输出;因此简短的回答是否定的,您不能使用 <asp:GridView> 标记,然后让客户端呈现实际的网格视图输出。

但是,有一些客户端模板解决方案可以构建基于 JavaScript 的网格视图类控件,请阅读 ASP.NET 中使用 JavaScript 启用 Ajax 的网格视图。此实现使用 ASP.NET HTTP 处理程序从服务器检索数据,然后使用 JavaScript 函数构建呈现到页面的 HTML 输出。这可以很容易地修改为使用 jQuery 对 HTTP 处理程序 (.ashx)、ASP.NET AJAX 页面方法、Web 服务、ASP.NET Web API、WCF 服务或事件 REST 端点进行 AJAX 调用。

  1. 简短而快速:Use ASP.NET UpdatePanel
  2. 将 jQuery 与任何客户端网格插件一起使用 JQGrid 演示
  3. 使用 jQuery 来操作网格视图控件(需要大量的工作!使用 jQuery 将数据集绑定到 Gridview

我更赞成或 1 和 2,因为您使用的是网络表单。