【问题标题】:ASP.Net Webforms GridView with jQuery DataTables and Server Side data loading带有 jQ​​uery DataTables 和服务器端数据加载的 ASP.Net Webforms GridView
【发布时间】:2017-05-18 16:24:58
【问题描述】:

我想在 Web 表单项目中使用带有 ASP.Net GridView 的 jquery Datatables 插件。我已经通过this 链接并成功地在网格中显示数据以及其他功能,例如排序/分页等。当我考虑为网格视图使用 RowCommand/RowDataBound 事件时,问题就开始了。对于 ex - 每行都有一个图像图标来执行某种服务器端编码(对于 ex - 删除记录)。我不喜欢为所有此类图标创建处理程序/Web 服务,并想知道这是否可能?

请告诉我你的想法。

【问题讨论】:

    标签: jquery asp.net gridview jquery-plugins datatables


    【解决方案1】:

    据我了解,在您进行任何回发之前,它都可以正常工作,因此您需要编写 javascript 代码来使用 javascript 处理您的内部 pageLoad() 事件,例如,如果您使用:

    $('#' + '<%=YourGridView.ClientID%>').DataTable();
    

    替换为:

    function pageLoad() 
    {           
        $('#' + '<%=lstActive.ClientID%>').DataTable();
    }
    

    如果你使用它,你会发现任何回发都会触发 DataTable 函数。

    【讨论】:

    • 我想在页面未加载后加载数据服务器端,而不是在页面加载时加载数据。这是无需使用 .ClientID 即可完成的事情
    【解决方案2】:

    将以下代码添加到 GridView Prerender,它会将标题部分添加到 gridview

    protected void MyGrid_PreRender(object sender, EventArgs e)
    {
       if (MyGrid.HeaderRow != null)
       {
          MyGrid.UseAccessibleHeader = true;
          MyGrid.HeaderRow.TableSection = TableRowSection.TableHeader;
       }
    }
    

    【讨论】:

    • 问题更多是关于服务器端数据加载。此代码只会将 标记添加到 gridview
    猜你喜欢
    • 2011-08-04
    • 1970-01-01
    • 2011-04-01
    • 2014-07-10
    • 1970-01-01
    • 2010-10-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多