1

我有一个使用以下代码(片段)生成的表:

String sTable = "<table id=\"ediTable\" runat=\"server\">\n" +
         "...\n" +
         "</table>\n";
table_display.InnerHtml = sTable;
table_win.Style.Add("display", "block");//show table

然后,稍后在我的代码中,尝试使用以下FindControl()方法查找此表:

protected void SubmitTable(object sender, EventArgs e)
{    
    Control ctrl = table_display.FindControl("ediTable");
}

这是我的相关html:

...
<div id="table_display" runat="server">
</div>
<asp:Button ID="submitReport" CssClass="submit_btn" runat="server" Text="Submit" OnClick="SubmitTable" />
...

ctrl当我单步执行我的代码时,它始终为空,尽管 table_display 仍然包含 html 表。我知道我可以使用DataList,DataViewRepeater来生成表格,但我不知道如何使用它们,宁愿让它工作。如果无法使用FindControl这种方式,那么我会去弄清楚它们。

4

1 回答 1

1

不能这样使用FindControlInnerHtml不会被解析、转换为 Web 控件实例并添加到控件树中,因此永远不会找到您的表。

于 2013-05-14T13:21:50.813 回答