Как получить значение из таблицы HTML на основе флажка уровня строки в C #? - PullRequest
0 голосов
/ 08 февраля 2019

У меня есть страница aspx, включающая три HTML-таблицы.Одна из таблиц в HTML показана ниже:

<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>

Эта таблица выглядит следующим образом:

enter image description here

Что мне нужно, чтобыполучить SchoolID для строк, которые проверяются конечным пользователем в C #.Каков наилучший способ сделать это?

В настоящее время я пытаюсь использовать HTMLAgilityPack, чтобы получить мою таблицу HTML как Datatable, но я не увенчался успехом.Это получение первого стола, мне нужен третий.И все же я не уверен, что это лучший способ.Пожалуйста, сообщите.

var doc = new HtmlDocument();
//doc.Load(Request.Url.ToString()); //gives error.
doc.Load(filepath); //this works

//this is returning me the first table of my page, i need the third table.
var nodes = doc.DocumentNode.SelectNodes("//table/tr");

var table = new DataTable("exampleDataTable");

Любая помощь будет так приветствоваться!

РЕДАКТИРОВАТЬ: Оказалось, я не могу использовать HTMLAgilityPack, так как я на самом деле создаю таблицу в C #, а затем отправляю в интерфейс.Использование filepath не работает, поскольку по умолчанию в файле .aspx нет таблицы.

EDIT2: Sec, есть функция web.load, которую я нашел, возможно, я смогу использовать Request.Url.

1 Ответ

0 голосов
/ 08 февраля 2019

Вы можете получить SchoolID выбранных строк через jQuery в click() слушателе вашей кнопки отправки.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...