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 结构页面上更改的内容不会发送回服务器,并且服务器对此一无所知。

换句话说,页面上的内容并没有完全回到服务器上。

为了解决这个问题,您可以同时进行两次编辑,一次在用户看到的内容上,一次在隐藏的输入上隐藏,以将更改发回服务器并在服务器端重新创建表。

希望这能制造场景。

于 2012-06-10T10:48:51.957 回答
0

您还可以使用 Microsoft Ajax 在行中启用部分呈现。这将执行相同的回发效果,但只会将受影响的内容发送到客户端。

于 2012-06-14T03:10:18.637 回答