表格的名称'在当前上下文中不存在

时间:2018-06-04 15:14:10

标签: c# asp.net html-table row

我在这个表中有行,现在我正在处理一个动态添加行的按钮。我认为我有正确的代码,但我的Visual Studio会出现一个错误,上面写着'名称' kost_tbl'在当前上下文中不存在。'

这是我的前端表:

<table id="kost_tbl" runat="server" border="1" width="100%">
                <tr>
                    <td width="12%" height="30px">1</td>
                    <td width="22%">2</td>
                    <td width="22%">3</td>
                    <td width="22%">4</td>
                    <td>Totaal</td>
                </tr>
                <tr>
                    <td height="25px" style="background-color:#ddd;">1.1 </td>
                    <td>1.2</td>
                    <td>1.3</td>
                    <td>1.4</td>
                    <td>1.5</td>
                </tr>

广告行的功能是这样写的:

protected void btnAddCost_Click(object sender, EventArgs e)
{

int totalRows = 1;
int totalColumns = 5;

for (int r = 0; r <= totalRows; r++)
{
    System.Web.UI.HtmlControls.HtmlTableRow tableRow = new HtmlTableRow();
    for (int c = 0; c <= totalColumns; c++)
    {
        System.Web.UI.HtmlControls.HtmlTableCell cell = new HtmlTableCell();
        TextBox txtBox = new TextBox();
        txtBox.Text = "Row: " + r + ", Col:" + c;
        cell.Controls.Add(txtBox);
        //Add the cell to the current row.
        tableRow.Cells.Add(cell);

        if (c == 5)
        {
            kost_tbl.Rows.Add(tableRow);
        }
    }
}
}

错误是关于代码的最后一行,即他失败的地方,并表示虽然它具有相同的id和runat =&#34;服务器&#34;但它并不存在。 / p>

关于可能出现什么问题的任何想法? (我在ASP.net中使用C#)

1 个答案:

答案 0 :(得分:0)

更改此行:

kost_tbl.Rows.Add(tableRow);

要:

Table kost_tbl = Page.FindControl("kost_tbl") as Table; 
kost_tbl.Rows.Add(tableRow);