如何使用jQuery计算asp.net中gridview中的行数

有谁知道如何使用jQuery计算asp:GridView中的行数。 如果没有找到行,那么我想做些什么……

GridView只是呈现为标准HTML表格,因此只需计算GridView下的tr元素数量:

 var totalRows = $("#<%=GridView1.ClientID %> tr").length; 

每个GridView都生成基本上是表的HTML,并且该表有一个ID(查看输出页面的源代码以了解我在说什么)。 您可以通过myGridView.ClientID将ID从.Net传递给JavaScript,或者在ASP.NET 4中myGridView.ClientID ClientIdMode="Static" ,从而使用与ASP控件完全相同的ID。

然后在jquery(它是一个与GridView层完全分离的客户端层)中,获取该ID并计算:

 $("#mygridviewid tr").length; 

您可以使用CssClass (我不记得确切的拼写)属性为您的gridview分配CSS类,然后访问它jquery的css类选择器。

假设您已将gridviewclass分配给该属性,那么当您编写时 –

$('table.gridviewclass')

在jquery中,您将能够访问由ASP.NET生成的表格,而不是ASP.NET。 现在,要访问所有行,您将写入 –

 $('table.gridviewclass tr') 

它将在jquery数组中为您提供该表的所有行。 要计算行数,您将写入 –

 var rowcount = $('table.gridviewclass tr').length if(rowcount == 0) { // No rows found, do your stuff } else { // Rows found, do whatever you want to do in this case } 

要访问第一行,您可以使用以下选择器 –

 $('table.gridviewclass tr:first') 

要访问最后一行,您将写入 –

 $('table.gridviewclass tr:last') 

你可以在这里找到一整套jquery选择器。

希望有所帮助。

我试过这个var totalRows = $("#<%=GridView1.ClientID %> tr").length; 当我尝试时它失败了

 var count = $get("mygridviewclientid").rows.length 

它给出了所有行(th和tr)的计数我还确保属性ClientIDMode="Static"