Dynamische Tabelle Mit Buttons

squadwuschel

Grünschnabel
Hio,

Ich habe schon im Forum und im Weg gesucht aber leider nichts passendes gefunden.

Also ich habe folgendes Problem:
Ich ich habe eine Tabelle die ich dynamisch erzeuge (funktioniert) und dann will ich in dieser Tabelle in einer spalte Buttons hinzufügen (funktioniert), all dies geschieht dynamisch im c# code.
Nun würde ich gerne dem Button sagen welche Funktion er aufrufen soll, damit ich da dann eine neue Seite aufrufen kann, .... und ich weiss leider nicht wie ich das dem Button beibringen kann.

etwas Code zu meinem Problem:

HTML File:
HTML:
    <asp:table CssClass="sqlTable2" ID="table_join_group" runat="server">
        <asp:TableHeaderRow ID="TableHeaderRow" runat="server" Visible="true">
            <asp:TableHeaderCell CssClass="text_group" runat="server" ID="THSignUp" Text="S" />
            <asp:TableHeaderCell CssClass="text_group" runat="server" ID="THID" Text="ID" />
            <asp:TableHeaderCell CssClass="text_group" runat="server" ID="THLocation" Text="Location" />
            <asp:TableHeaderCell CssClass="text_group" runat="server" ID="THOfficer" Text="Officer" />
            <asp:TableHeaderCell CssClass="text_group" runat="server" ID="THDatum" Text="Datum" />
            <asp:TableHeaderCell CssClass="text_group" runat="server" ID="THStartTime" Text="Start Time" />
            <asp:TableHeaderCell CssClass="text_group" runat="server" ID="THTotal" Text="Total" />
        </asp:TableHeaderRow>
    </asp:table>

C# code in der code Behinde File:
Code:
     private void addRows(ref Table table)
    {
        Button bt = new Button();
        bt.Text = "LinkTO";
        bt.CssClass = "button";
        bt.OnClientClick = "addRows2()";
        

        for (int i = 1; i <= 10; i++)
        {
            TableRow row = new TableRow();
            table.Rows.Add(row);
            for (int j = 1; j <= 7; j++)
            {
                TableCell cell = new TableCell();
                cell.Text = string.Format("{0} x {1} = {2}", i, j, i * j);
                cell.Controls.Add(bt);
                cell.HorizontalAlign = HorizontalAlign.Center;
                row.Cells.Add(cell);
            }
        }
    }

    private void addRows2()
    {
        LError.Text = "Hallo";
        //Response.Redirect("view_group.aspx");
    }

der c# Code wird im Page_load Event ausgeführt.
In der c# File wird einfach erstmal eine Tabelle erzeugt mit "Inhalt" am Ende steht dann ein button und dieser soll halt eine Funktion aufrufen, nur ich weiss nicht wie :/


danke schonmal im vorraus SquadWuschel
 

squadwuschel

Grünschnabel
habe es rausbekommen ^^

Ich kann sogar noch informationen mitsenden über den CommandName um somit eine Auswertung der Daten auf der Zweiten Seite besser bestimmen zu können, da ich jetzt auch weiss auf welchen Button ich geklickt habe.

Code:
...

            for (int j = 1; j <= 7; j++)
            {
                TableCell cell = new TableCell();
                Button bt = new Button();
                bt.Text = "LinkTO" + i.ToString();
                bt.CssClass = "button";
                bt.CommandName = "Link1";
                //Register the event-handling method for the Click event. 
                bt.Command += new CommandEventHandler(addRows3);
                cell.Controls.Add(bt);
                cell.HorizontalAlign = HorizontalAlign.Center;
                row.Cells.Add(cell);
            }

...



    private void addRows3(Object sender, CommandEventArgs e)
    {
        LError.Text = e.CommandName.ToString();
    }