/ / C # перегляд рядків таблиці HTML, доданих через javascript - c #, javascript, asp.net, html-table

C # цикл через рядки таблиці HTML, додані за допомогою javascript - c #, javascript, asp.net, html-таблиця

Я намагаюся прокрутити таблицю HTML за допомогою runat = "server" - але дані її додаються динамічно через javascript.

<table runat="server" id="confirmCartTable" class="confirmCartTable cartGrid table">
<tr>
<th>ID</th>
<th>Product</th>
<th>Price</th>
<th>Quantity</th>
<th>Total</th>
</tr>
</table>

Він чудово відображається з 3 рядками під ним. Але коли я цикую за допомогою C #:

    //get the datatable consisting of ProductID, Quantity, Price
for(int i = 0;i < confirmCartTable.Rows.Count; i++)
{
**//confirmCartTable.Rows.Count is only 1, table headers only**
HtmlTableRow row = confirmCartTable.Rows[i];
dr = dt.NewRow();
dr["ProductID"] = row.Cells[0].Controls[0];
dr["Quantity"] = row.Cells[2].Controls[0];
dr["Price"] = row.Cells[3].Controls[0];
dt.Rows.Add(dr);
}

Це тому, що рядки додаються динамічно через JS? Що може бути рішенням для цього?

У наведеному вище циклі мені потрібно додати його до таблиці даних. Я отримав row.Cells [i] .Controls [0] як System.Web.UI.LiteralControl .. Я спробував використовувати

StringBuilder sb = new StringBuilder();
StringWriter tw = new StringWriter(sb);
HtmlTextWriter hw = new HtmlTextWriter(tw);

HtmlTable.RenderControl(hw);
dr[i] = sb.ToString();

Це працює, але це занадто довго (я повинен це зробити для всіх 3 стовпців ..)

Підводячи підсумок проблеми,

  1. C # HtmlTable не прокручує дані, додані через JS
  2. Отримайте внутрішній html кожного HtmlTableRow

Відповіді:

0 для відповіді № 1

Проблема вашої логіки полягає в тому, що ви єдодавання рядків динамічно через javascript буде втрачено при зворотній передачі. dom, манупульовані за допомогою JavaScript, не надсилаються назад, оскільки це не поле введення. Ви можете обійти це, маючи приховане поле з запуском на сервері. on post back встановити значення hiddenfield за допомогою innerhtml таблиці. на серверному запиті це приховане поле, щоб отримати html. сподіваюся, це зрозуміло