我使用标签'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
答案 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会导致错误。