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" />
...

ctrltable_display にはまだ html テーブルが含まれているにもかかわらず、コードをステップ実行すると常に null になります。またはを使用して代わりにテーブルを生成できることDataListはわかっていますが、それらの使用方法がわからず、代わりにこれを機能させたいと考えています。この方法で使用できない場合は、私が行ってそれらを把握します。DataViewRepeaterFindControl

4

1 に答える 1

1

そのままでは使えませんFindControlInnerHtml解析されず、Web コントロール インスタンスに変換され、コントロール ツリーに追加されるため、テーブルは決して見つかりません。

于 2013-05-14T13:21:50.813 に答える