1

我正在尝试单击 Add Row 按钮向 HtmlTable 添加一个新行。它增加了一行。但它不会添加更多行。请指教。

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Test.aspx.cs" Inherits="eLaundrySearchWeb.Test" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
 </head>
<body>
<form id="form1" runat="server">
<div>
<table id="myTable" runat="server">
                            <tr>
                                <td>
                                    <asp:DropDownList ID="DropDownList1"   runat="server">
                                    </asp:DropDownList>
                                </td>
                                <td>
                                    <asp:TextBox ID="txtQty" runat="server">
                                    </asp:TextBox>
                                </td>
                                <td>
                                    <asp:Button ID="Button1" runat="server" Text="Add Row" OnClick="AddRow_Click" 
                                    />
                                </td>
                            </tr>
                        </table>
</div>
</form>

protected void AddRow_Click(object sender, EventArgs e)
    {
        //Random r=new Random();
        //int rv=r.Next(0,100);
        int numOfRows = myTable.Rows.Count;
        HtmlTableRow row = new HtmlTableRow();
        row.ID = "tbl_row"+(numOfRows+1);
        HtmlTableCell cell1 = new HtmlTableCell();
        cell1.ID = "tbl_cell1"+ (numOfRows+1);
        TableCell cell2 = new TableCell();
        cell2.ID = "tbl_cell2" + (numOfRows + 1);
        TextBox tb = new TextBox();
        tb.ID = "tbQty" + (numOfRows + 1);
        cell1.Controls.Add(tb);
        row.Cells.Add(cell1);
        myTable.Rows.Add(row);
        myTable.DataBind();
    }
4

1 回答 1

0

每次单击时它都会添加行button。这里唯一的问题button是导致动态创建的控件postback上的和postback被清除。然后你的button点击事件再次添加一行。所以在你看来,该行只添加一次。但实际上它每次都在添加,只是postback早期的被清除了。尝试将您的代码转换为函数并在postback.

类似的问题

于 2012-11-06T07:17:54.037 回答