带有 jQ​​uery DataTables 和服务器端数据加载的 ASP.Net Webforms GridView

Posted

技术标签:

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

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

请告诉我你的想法。

【问题讨论】:

【参考方案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

以上是关于带有 jQ​​uery DataTables 和服务器端数据加载的 ASP.Net Webforms GridView的主要内容,如果未能解决你的问题,请参考以下文章

带有 jQ​​uery 验证插件的引导程序

带有 jQ​​uery 悬停淡入淡出效果的表格

带有 jQ​​uery 的 Django 模板“包含”标签

带有 jQ​​uery.ajax() 的 CORS

带有 jQ​​uery 的 Asp Mvc 视图

使用带有 jQ​​uery 插件的 Browserify