2011-01-06 33 views
2

對不起,我的英語不好,我的問題是如下:如何在這種情況下,從C#WebBrowser控件調用JavaScript的

從C#普通道路WebBrowser控件調用JavaScript的: 的JavaScript

function showMe() 

{ ... }

C#

webBrowser1.Document.InvokeScript("showMe"); 

沒關係!

,但如何在這種情況下撥打:

HTML:

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

C#:

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

我不知道怎麼寫正確的paremeter實現的onclick的javascript

有人幫我,多謝了

回答

1

按照你給的例子:

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

編輯:這個例子是壞了。

您需要用document.getElementById('mylink')(假設id屬性設置值爲mylink)或使用HABJAN給出的方法替換'this'。

+1

這不會因爲「這個」參數的工作是在錯誤的上下文。 – HABJAN 2011-01-06 09:45:54

+0

啊,好點 - 錯過了這個問題。認爲這只是如何在onclick中調用代碼。 – 2011-01-06 09:47:10

3

像這樣的東西(如果設置了鏈接的ID爲「myLink的」):

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