C# ASP.NET的GridView应用jQuery插件DataTables的方法 Apply Jquery DataTables plugin to ASP GridView

本文介绍在C#ASP.NET项目中,如何解决GridView与jQuery插件DataTables的兼容性问题,通过添加thead元素确保DataTables正确显示。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

C# ASP.NET的GridView应用jQuery插件DataTables的方法  

Apply Jquery DataTables plugin to ASP GridView

参考链接:https://stackoverflow.com/questions/8200681/apply-jquery-datatables-plugin-to-asp-gridview

1.遇到的问题

用C#编写asp.net网页程序时,需要用到jQuery插件DataTables,使用方法参考:DataTables配置 ,具体代码如下:

<!--引入css-->
<link rel="stylesheet" type="text/css" href="https://cdn.datatables.net/1.10.15/css/jquery.dataTables.min.css">
 
<!--引入JavaScript-->
<script type="text/javascript" language="javascript" src="//code.jquery.com/jquery-1.12.4.js"></script>
<script type="text/javascript" language="javascript" src="https://cdn.datatables.net/1.10.15/js/jquery.dataTables.min.js"></script>
 
<!--初始化代码-->
<script>
     $(document).ready(function() {
           $('#example').DataTable();
      });
</script>

但是在asp.net应用的时候发现表格显示不正常:

GridView代码如下:

<asp:GridView ID="GridView" runat="server">
	    	</asp:GridView>

对应JavaScript如下:

<script type="text/javascript">
	$(document).ready(function () {
        $("#GridView").dataTable();
	});
</script>

2.原因

查阅DataTables常见问题:http://datatables.club/faqs/index.html

Datatables所需要的table是比较严谨的,table里必须包含thead和tbody标签(1.10.x+好像不需要tbody也行了,大家注意自己多尝试)。再检查其他html是否有效,控制台有没有错误?初次使用Datatables参考 安装手册

 可以发现用ASP.NET的GridView控件不添加<thead>元素,只是将标题行放入生成的表的<body>部分,而数据表插件需要表中的<thead>部分。因此显示不正常。

3.解决办法

替换成如下代码即可:

<script type="text/javascript">
	$(document).ready( function () {
	    $('#GridView').prepend( $("<thead></thead>").append( $("#GridView").find("tr:first") ) ).dataTable();
	});
</script>

4.补充说明

https://stackoverflow.com/questions/8200681/apply-jquery-datatables-plugin-to-asp-gridview 此链接中代码

$(function () {
    $(".gvv").prepend( $("<thead></thead>").append( $(this).find("tr:first") ) ).dataTable();
});

其中用的 $(this) ,如果在此Table前有其他的Table,则会出现错误,因此用 $("#GridView") 代替,这样才不会出现错误。


References:

[1] Apply Jquery DataTables plugin to ASP GridView

[2] 0配置 基本初始化 博客 DataTables中文网

[3] 常见问题 Datatables 中文网 (Frequently Asked Questions)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值