ASP.NET Programmgesteuertes Hinzufügen einer Schaltfläche mit einem Ereignis

Ich erstelle eine dynamische Tabelle, die Zeilen hinzufügt, wenn auf die Schaltfläche "Zeile hinzufügen" geklickt wird. Ich erstelle die Schaltfläche programmgesteuert und füge sie der Tabellenüberschrift hinzu. Unterhalb dieser Schaltfläche und in derselben Spalte befinden sich auch Schaltflächen zum Löschen von Zeilen.

Ich habe jedoch ein Problem, wenn ich auf die Schaltfläche klicke, wird das Ereignis nicht aufgerufen. Erstelle ich den Button richtig? Wenn nicht, wie mache ich das? Wenn ja, wissen Sie dann, wo das Problem liegt?

region Add_Table_Header
<code>    TableHeaderCell thcOne = new TableHeaderCell();
    TableHeaderCell thcTwo = new TableHeaderCell();
    TableHeaderCell thcThree = new TableHeaderCell();
    TableHeaderCell thcrFour = new TableHeaderCell();
    TableHeaderCell thcFive = new TableHeaderCell();
    TableCell thcRowAction = new TableCell(); //THIS IS THE COLUMN WITH THE 
                                              //ADD BUTTON

    thcOne.Text = "Who";
    thcTwo.Text = "Date Started";
    thcThree.Text = "Date Ended";
    thcrFour.Text = "Causes?";
    thcFive.Text = "Result";

            //HERE IS WHERE I CREATE AND ADD THE BUTTON

    Button addRowButton = new Button();
    addRowButton.Text = "Add Row";
    addRowButton.Click += new EventHandler(this.AddNewRow_Click);
    thcRowAction.Controls.Add(addRowButton);

    TableHeaderRow headerRow = new TableHeaderRow();
    headerRow.Cells.Add(thcOne);
    headerRow.Cells.Add(thcTwo);
    headerRow.Cells.Add(thcThree);
    headerRow.Cells.Add(thcrFour);
    headerRow.Cells.Add(thcFive);
    headerRow.Cells.Add(thcRowAction);

    table.Rows.Add(headerRow);

    #endregion


protected void AddNewRow_Click(object sender, EventArgs e)
    {
        if (ViewState["RowsCount"] != null)
        {
            numOfRows = Convert.ToInt32(ViewState["RowsCount"]);
            GenerateTable(numOfRows);
        }
    }
</code>

Die Schaltfläche wird erneut angezeigt, gibt jedoch nicht die richtige Ereignismethode ein. Vielen Dank für Ihre Hilfe und Zeit :)

Übrigens, wenn ich es deklarativ mache wie:

<code><asp:Button ID="BTNAdd" runat="server" Text="Add New Row" OnClick="AddNewRow_Click" />
</code>

Die Veranstaltung wird registriert und funktioniert einwandfrei.

NEUE INFOS: Es wird auch eine Schaltfläche zum Löschen angezeigt. Ich habe keine Art von Ereignis registriert. Wenn ich jedoch darauf klicke, entspricht dies genau der Schaltfläche zum Hinzufügen einer Zeile. Dies kann an der Masterseite oder einer anderen liegen Quelle sagt den Schaltflächen, was zuerst oder standardmäßig zu tun ist?

VIELEN DANK :)

Antworten auf die Frage(1)

Ihre Antwort auf die Frage