1

[行の追加] ボタンをクリックすると、HtmlTable に新しい行を追加しようとしています。1 行追加します。ただし、それ以上の行は追加されません。お知らせ下さい。

<%@ 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クリックイベントが再び行を追加します。一度だけ追加されますが、実際には毎回追加されています。以前のものはクリアされているだけです。コードを関数に変換して、その関数を.postbackbuttonpostbackpostback

同様のSOの質問

于 2012-11-06T07:17:54.037 に答える