在表格末尾插入HTML敏捷包tr
本文关键字:tr HTML 插入 表格 | 更新日期: 2023-09-27 18:29:55
我有这个表
<div id="ConversationDIv" runat="server">
<table border="1" id="tbl">
<tr>
<td>blah blah</td>
</tr>
</table>
</div>
<asp:Button id="Insert" onCLick="Insert_Click" Text="addNew" ></asp:Button>
c#:
protected void Insert_Click(object sender,EventArgs e)
{
var html = new HtmlAgilityPack.HtmlDocument();
html.LoadHtml(ConversationDIv.InnerHtml);
var table = html.DocumentNode.SelectNodes("table").FirstOrDefault();
// how can I add a new row to table ?
}
我想在表中添加新行,我该怎么做?
您可以使用SelectSingleNode来选择表。并使用HtmlNode.CreateNode创建从html字符串附加的节点:
var table = html.DocumentNode.SelectSingleNode("//table");
table.AppendChild(HtmlNode.CreateNode("<tr></tr>"));
这是我认为完美的解决方案:
protected void AddNewMessageRow(string rowToAppend)
{
var html = new HtmlAgilityPack.HtmlDocument();
html.LoadHtml(ConversationDIv.InnerHtml);
var table = html.DocumentNode.SelectNodes("table").FirstOrDefault();
var node = HtmlNode.CreateNode(rowToAppend);
table.AppendChild(node);
ConversationDIv.InnerHtml += table.OuterHtml;
}
string ToAppend = "<tr><td align='left' valign='top' width='9%;' ><img width='32px' height='32px' src='images/" + Session["ClientPicture"] + "' /></td><td align='left' class='MiddleTd' valign='Top' ><span class='MsgSpan'>" + m + "</span></td><td align='right' align='left' valign='top' style='color:Gray;' >" + DateTime.Now.ToString("hh:mm:tt") + "</td></tr>";
AddNewMessageRow(ToAppend);