C# 在表末尾插入HTML Agility Pack tr

C# 在表末尾插入HTML Agility Pack tr,c#,html-agility-pack,C#,Html Agility Pack,我有这张桌子 <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"

我有这张桌子

<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>
我想向表中添加一个新行,如何执行此操作?

您可以使用SelectSingleNode选择表。并使用HtmlNode.CreateNode创建从html字符串追加的节点:

var table = html.DocumentNode.SelectSingleNode("//table");
table.AppendChild(HtmlNode.CreateNode("<tr></tr>"));
var table=html.DocumentNode.SelectSingleNode(//table”);
table.AppendChild(HtmlNode.CreateNode(“”);
您可以使用SelectSingleNode选择表。并使用HtmlNode.CreateNode创建从html字符串追加的节点:

var table = html.DocumentNode.SelectSingleNode("//table");
table.AppendChild(HtmlNode.CreateNode("<tr></tr>"));
var table=html.DocumentNode.SelectSingleNode(//table”);
table.AppendChild(HtmlNode.CreateNode(“”);

这是我认为完美的解决方案:

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);
protectedvoid AddNewMessageRow(stringrowtoappend)
{
var html=new HtmlAgilityPack.HtmlDocument();
LoadHtml(ConversationDIv.InnerHtml);
var table=html.DocumentNode.SelectNodes(“表”).FirstOrDefault();
var node=HtmlNode.CreateNode(rowToAppend);
table.AppendChild(节点);
ConversationDIv.InnerHtml+=table.OuterHtml;
}
字符串ToAppend=“+m+”+DateTime.Now.ToString(“hh:mm:tt”)+”;
AddNewMessageRow(待出现);

这是我认为完美的解决方案:

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);
protectedvoid AddNewMessageRow(stringrowtoappend)
{
var html=new HtmlAgilityPack.HtmlDocument();
LoadHtml(ConversationDIv.InnerHtml);
var table=html.DocumentNode.SelectNodes(“表”).FirstOrDefault();
var node=HtmlNode.CreateNode(rowToAppend);
table.AppendChild(节点);
ConversationDIv.InnerHtml+=table.OuterHtml;
}
字符串ToAppend=“+m+”+DateTime.Now.ToString(“hh:mm:tt”)+”;
AddNewMessageRow(待出现);

它与我的解决方案有何不同?它与我的解决方案有何不同?