0

目前,我通过调用 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 来检索值并填充网格视图而无需回发?

4

3 回答 3

2

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

于 2013-11-04T17:06:45.033 回答
1

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

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

于 2013-11-04T17:15:10.707 回答
0
  1. 短而快:Use ASP.NET UpdatePanel
  2. 将 jQuery 与任何客户端网格插件一起使用JQGrid Demos
  3. 使用 jQuery 操作您的 gridview 控件(需要大量工作!)使用 jQuery 将数据集绑定到 Gridview

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

于 2013-11-05T05:09:00.877 回答