编辑元素的内部HTML不起作用

时间:2012-07-26 08:13:09

标签: c# .net html webbrowser-control

我的目标是在表格体中添加一些特定的HTML。

代码说明:

  • tbody指向身体
  • “Hello \ n”是一个非常简单的单词,例如我想添加
  • 我将HTML存储在另一个变量

现在每次我都得到例外&它不接受我的编辑

var tbody = table.GetElementsByTagName("tbody")[0];
//tbody.InnerHtml = " </br> ";
foreach (DataGridViewRow row in dataGridView1.Rows)
{
    try
    {
        tbody.InnerHtml = tbody.InnerHtml + "Hello \n";
    }
    catch (Exception)
    {
    }
}

更新

我还尝试了另一种方法,但结果是:

enter image description here

更新2:

这是一个桌面应用程序,我想更改从WebBrowser Control获取的表的innerHtml值

更新3:

异常

发现了System.NotSupportedException   此类型的HtmlElement不支持Message = Property。   来源= System.Windows.Forms的   堆栈跟踪:        在System.Windows.Forms.HtmlElement.set_InnerHtml(String value)        at WebScrapper.Form1.webBrowser2_DocumentCompleted(Object sender,WebBrowserDocumentCompletedEventArgs e)在E:\ Companies-work \ FreeLancer \ WebScrapper \ WebScrapper \ WebScrapper \ Form1.cs:line 248   InnerException:

更新4:

检查tbody是否为空 enter image description here

1 个答案:

答案 0 :(得分:0)

如果tbody是HtmlElement,如下面的行所示

var tbody = table.GetElementsByTagName("tbody")[0];

然后你可以直接使用它的InnerHtml属性,而不是printcreen中显示的行

像这样

tbody.InnerHtml += "Hello \n";