0

私のコード:

<div id="conversationdiv" runat="server">
 <table border="1" id="table_id">
  <tr>
   <td>blah blah</td>
    </tr>
   </table>
</div>
<asp:button id='clickMe' runat='server' onClick="Click_me" Text="appendRow"></asp:Button>

サーバ側:

protected void Click_me(object sender,EventArgs e){
  HtmlTable table = (HtmlTable)ConversationDIv.FindControl("table_id");
 }

HtmlTableテーブルはnullを返します。runat='server'テーブルに属性がないためだとわかっていますが、そのような属性が追加されていなくてもテーブルを見つける方法はありますか?

4

1 に答える 1

4

あなたはできるconversationdiv.InnerHtml...この特定のケースでは、テーブルのHTMLを返します。

その後、HTML Agility Pack を使用して、上記のテーブルをクエリまたは操作できます。


var html = new HtmlAgilityPack.HtmlDocument();

html.LoadHtml(conversationdiv.InnerHtml);

var table = html.DocumentNode.SelectNodes("table").FirstOrDefault();

var tr = table.SelectNodes("tr").FirstOrDefault();

var td = tr.SelectNodes("td").FirstOrDefault();

var blahBlah = td.InnerText;
于 2013-09-02T14:06:08.297 に答える