如何基于C#中的行级复选框从HTML表中获取值?

时间:2019-02-08 17:47:55

标签: c# html asp.net html-agility-pack asp.net-4.5

我有一个包含三个HTML表格的aspx页面。 HTML中的表格之一如下所示:

<TextView
   android:layout_width="wrap_content"
   android:layout_height="wrap_content"
   android:text="&gt;"/>

此表如下:

enter image description here

我需要为最终用户在C#中检查的行获取<table id='example' > <thead> <tr> <th><INPUT type="checkbox" onchange="checkAll(this)" name="chk[]"/></th> <th>SchoolID</th> ... </tr> </thead> <tr> <td> <input type='checkbox' name='name0' /> </td> <td>200116</td> </tr> <tr> <td> <input type='checkbox' name='name1' /> </td> <td>200116</td> </tr> ... </table> 。最好的方法是什么?

我目前正在尝试使用HTMLAgilityPack将HTML表获取为Datatable,但是我没有成功。它正在获得第一张桌子,我需要第三张桌子。但是,我不确定这是否是最好的方法。请告知。

SchoolID

任何帮助将不胜感激!

编辑:原来我不能使用HTMLAgilityPack,因为我实际上是在C#中创建表,然后发送到前端。无法使用文件路径,因为默认情况下.aspx文件中没有表。

EDIT2:第二,我发现有web.load函数,也许我可以使用Request.Url。

1 个答案:

答案 0 :(得分:1)

您可以在提交按钮的click()侦听器中通过jQuery获取选定行的SchoolID。

var tableControl = document.getElementById('mytable');
$('#myBtn').click(function() {

var arrayOfValues = []
    $('input:checkbox:checked', tableControl).each(function() {
            arrayOfValues.push($(this).closest('tr').find('td:last').text());
        }).get();
    alert(arrayOfValues);
});


$('#chkAll').change(function() {
  $('input:checkbox').not(this).prop('checked', this.checked);
});

正在运行的演示:JSFiddle