3

私はテーブルを持っています:

<table id="trTable" runat="server" clientidmode="Static">
        <thead>
            <tr>
                <th style="display:none">
                    ID
                </th>
                <th style="width: 112px">
                    Item
                </th>
                <th style="width: 40px; text-align: left">
                    Price
                </th>
                <th style="width: 24px; text-align: center">
                </th>
                <th style="width: 26px; text-align: center">
                    Qty
                </th>
                <th style="width: 24px; text-align: center">
                </th>
                <th style="width: 40px; text-align: right">
                    Total
                </th>
            </tr>
        </thead>
        <tbody>
        </tbody>
    </table>

jQuery を使用して新しい行が追加されます。

var newRow = $("<tr> <td class='drinkID' style='display:none'>" + drinkID + "</td> <td class='drinkName'>" + dName + "</td>  <td class='drinkPrice'>" + dPrice + "</td>  <td style='text-align:center'><input id='Button' type='button' value='<' class='minusButton' /> </td>  <td class='drinkQty'>1</td>  <td style='text-align:center'><input id='Button' type='button' value='>' class=\"plusButton\" /></td>  <td class='drinkTotal'>" + dPrice + "</td>  </tr>");

asp.net を使用してセルの内容にアクセスするにはどうすればよいですか?

私は使っている:

foreach (HtmlTableRow row in trTable.Rows)
        {
            Response.Write("RowDetails:" + row.Cells[1].InnerHtml);
        }

しかし、response.write は次のように出力します。

RowDetails: Item

セルの内容を取得できないのはなぜですか?

4

2 に答える 2

2

クライアント側のhtml構造体ページで変更した内容は、サーバーに返送されず、サーバーは何も知りません。

つまり、ページにあるものは、サーバー上で完全にサンドバックされていません。

これを解決するために、2つの編集を同時に行うことができます。1つはユーザーに表示されるものに、もう1つは非表示の入力に非表示にして、変更をサーバーにポストバックし、サーバー側でテーブルを再作成します。

これがシーンを作ることを願っています。

于 2012-06-10T10:48:51.957 に答える
0

Microsoft Ajaxを使用して、行の部分レンダリングを有効にすることもできます。これは同じポストバック効果を実行しますが、影響を受けるコンテンツのみをクライアント側に送信します。

于 2012-06-14T03:10:18.637 に答える