2011-06-23 8 views
1

「script」タグを使用してHtmlElementインスタンスを作成しましたが、InnerHtmlメンバーを設定できません。C#HtmlElement JavaScriptが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コードを挿入し、あなたが本当にPage.ClientScriptメソッドを使用する必要があり、WebブラウザーフォームのHTMLDocumentの

答えて

3

にInvokeScript機能を使用してアプリケーションからそれを実行することです。

例:

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

私はそれをどのように使うことができるのか分かりませんが、それはWPFのためですか?私はフォームを使用しています – Drake

+0

WPFについてはわかりませんが、Webフォーム用です。どのフレームワークを使用していますか? – ShaneBlake

1

HtmlElement.InnerHtml Property

なSCRIPTタグなどの一部のタグは、テキストのみのコンテンツを含めることができます。 InnerHtmlを設定するとエラーになります。

+0

OuterHtmlまたはOuterTextを設定しても何もしませんが、例外もスローされません。 InnerTextは例外をスローします。 – Drake

+0

ちょうどあなたの質問の "なぜですか"という部分に答えようとしています:) –

+0

解決策はより多くのOを助けるでしょう: – Drake

関連する問題