带有 jQuery DataTables 和服务器端数据加载的 ASP.Net Webforms GridView
Posted
技术标签:
【中文标题】带有 jQuery 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以上是关于带有 jQuery DataTables 和服务器端数据加载的 ASP.Net Webforms GridView的主要内容,如果未能解决你的问题,请参考以下文章