C#HtmlElement JavaScript不会设置InnerHtml

时间:2011-06-23 21:26:35

标签: c# javascript

我使用标签'script'制作了HtmlElement实例,它不允许我设置InnerHtml成员。

为什么?

HtmlElement tempElement = wbMain.Document.CreateElement("script");

wbMain.Document.GetElementsByTagName("head")[0].AppendChild(tempElement);

tempElement.SetAttribute("type", "text/javascript");
tempElement.InnerHtml = "function test(a){document.getElementById('test').value = a;}";

最终目标是将JavaScript代码注入网页并使用Web浏览器表单中的InvokeScript函数从应用程序执行htmldocument

2 个答案:

答案 0 :(得分:3)

你真的应该使用Page.ClientScript方法。

前:

string myScript = "function test(a){document.getElementById('test').value = a;}";
Page.ClientScript.RegisterClientScriptBlock( typeof( Page ), "someScriptName", myScript, true );

答案 1 :(得分:1)

HtmlElement.InnerHtml Property

某些标签(例如SCRIPT标签)只能包含文字内容;设置InnerHtml会导致错误。