2011-01-06 3 views
2

sorry, mein armes Englisch aufrufen, meine Frage ist, wie folgend:wie JavaScript in einem WebBrowser-Steuerelement von C# in einer solchen Situation

aufrufen JavaScript in einem WebBrowser-Steuerelement von C# in der gewöhnlichen Art und Weise: JavaScript

function showMe() 

{ ... }

C#

webBrowser1.Document.InvokeScript("showMe"); 

das ist ok!

aber wie in einer solchen Situation nennen:

html:

<a href="javascript:void(0);" onclick="App.followcancel('1880161672',this,'0','A','B');return false;">hello</a> 

C#:

webBrowser1.Document.InvokeScript(????????) 

Ich weiß nicht, wie man die richtige paremeter schreiben die OnClick Script zu erreichen

jemand mir helfen, vielen dank

Antwort

1

Nach dem Vorbild Sie gegeben haben:

webBrowser1.Document.InvokeScript("App.followcancel('1880161672',this,'0','A','B')"); 

Edit: Dieses Beispiel ist gebrochen.

Sie müßten ‚dies‘ mit document.getElementById('mylink') ersetzen (vorausgesetzt, ein id Attribute mit dem Wert gesetzt mylink) oder den Ansatz Habjan gegeben verwenden.

+1

dies nicht funktionieren wird als ‚dieser‘ Parameter ist im falschen Kontext. – HABJAN

+0

Ah, guter Punkt - hatte das in der Frage verpasst. Dachte, es wäre nur, wie man den Code im Onclick aufruft. –

+0

Ich mag die neue Idee mit document.getElementById ('mylink') – HABJAN

3

So etwas (wenn Sie ID der Verbindung zu „mylink“ eingestellt):

HtmlElement el = webBrowser1.Document.All["mylink"]; 
object obj = el.DomElement; 
System.Reflection.MethodInfo mi = obj.GetType().GetMethod("onclick"); 
mi.Invoke(obj, new object[0]); 
+0

Oder Sie können Ihre Javascript-Funktion injizieren, die onclick von Javascript ausführt und dann diese Funktion mit webBrowser1.Document.InvokeScript aufrufen – HABJAN

Verwandte Themen