我的代码:
<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'
属性,但我的问题是,即使没有添加这样的属性,我还能找到表吗?
答案 0 :(得分: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;