невозможно добавить более одного серверного элемента управления динамически в asp.net

Привет, я действительно застрял в одной из моих задач по разработке с нескольких дней, и я не могу выяснить, что именно происходит. Пожалуйста помоги.

Я пытаюсь динамически добавлять строки на веб-страницу следующим образом. Я хочу использовать управление сервером. Но я не могу добавить более одной строки.

Не повезло, хотя я использовал переменную сессии. Пожалуйста, помогите пожалуйста :)

----------------- файл aspx ---------------

<div>
    <asp:Table ID="tbl" runat="server">
        <asp:TableRow ID="rw0">
            <asp:TableCell ID="c01" Width="100px">
                <asp:CheckBox runat="server" ID="chk0" />
            </asp:TableCell>
            <asp:TableCell ID="c02" Width="100px">
                <asp:TextBox runat="server" ID="txt0" />
            </asp:TableCell></asp:TableRow>
        <asp:TableRow ID="rw1">
            <asp:TableCell ID="c11" Width="100px">
                <asp:CheckBox ID="chk1" runat="server" />
            </asp:TableCell><asp:TableCell ID="c12" Width="100px">
                <asp:TextBox runat="server" ID="txt1" />
            </asp:TableCell></asp:TableRow>
    </asp:Table>
    <asp:Button ID="btn1" runat="server" Text="Add Row" OnClick="addRow" />
</div>

--------------------- C # код позади -------------------------- ----

protected void addRow(object sender, EventArgs e)
    {

        int num_row = new int(); //checkpoint
        num_row = (tbl.Rows).Count;

        if (Session["tables"] != null)
        {
            tbl =  (Table)Session["tables"];
        }


        TableRow row = new TableRow();
        TableCell cell1 = new TableCell();
        TableCell cell2 = new TableCell();
        TextBox tb = new TextBox();
        CheckBox cb = new CheckBox();

        row.ID = "rw" + num_row;

        cell1.ID = "c" + num_row + "1";
        cell2.ID = "c" + num_row + "2";

        tb.ID = "txt" + num_row;
        tb.EnableViewState = true;
        cb.ID = "chk" + num_row;

        cell1.Controls.Add(tb);
        cell2.Controls.Add(cb);

        row.Cells.Add(cell1);
        row.Cells.Add(cell2);

        tbl.Rows.Add(row);
        Session["tables"] = tbl;


    }

Ответы на вопрос(2)

Ваш ответ на вопрос