0

DOM がロードされた後、C# で動的に追加された要素を取得することは可能ですか。以下は私の例です。

アイデアは、ユーザーの介入から動的に行を追加し、ユーザーがフォームを送信すると、C# コードビハインドが新しく追加された各行を反復処理することです。

ただし、行がいくつ追加されても、C# は 1 行しかカウントしません。

HTML/Jquery/C# はこちら

HTML

新しい行がテーブルに追加される前。

<table id="tblRecordedBags" runat="server" class="tblBags">
    <tr>
        <th>Amount</th><th>Drop Bag Number</th><th>Edit</th><th>Remove</th>
    </tr>
</table>
<input type='text' class='txtBagNum' id='txtBagNum'>

jQuery

新しい行を追加するために使用されます。

$('.addBag').on('click', function(){
  $(".tblBags").append(
            '<tr class="bag"><td class="bag">'
                + $(".total").val() + '</td><td class="bagID">'
                + $(".txtBagNum").val() + '</td>'
                + "</tr>'
});

C# コードビハインド

クイックデバッグ書き込み

System.Diagnostics.Debug.Write(tblRecordedBags.Rows.Count);
4

2 に答える 2

1

これは、サーバー側にあるサーバー側からアクセスしているためです 。no knowledge of any changes to the DOM.

ブラウザーに新しい行が追加されますが、.aspx ファイルに存在する既定のページは同じままであり、それらは最初から変更されていません。

正しい出力を得るには、実際に C# で行を追加してから試してください。

于 2012-12-05T00:01:02.353 に答える
1

ASP.NET は JavaScript に対応していないと思います。

簡単な方法は、更新パネルを使用してサーバー側から各行を追加することです。

もう 1 つの方法は、送信前に非表示フィールドの行からすべてのデータをロードしようとすることです (たとえば、JSON でエンコードされます)。

于 2012-12-05T00:05:21.547 に答える