2014-12-02 64 views
6

我想調用JavaScript函數「轉到」這樣的:如何在WinForms中的WebBrowser控件中調用JavaScript?

javascript:Goto('DM_NEW_OBJECT.ASPX?DM_CAT_ID=2063&DM_PARENT_ID=2217&INPUTSELECTION=&DM_OBJECT_ID=0&PACK_ID=0&CASE_ID=0&mode=0&SITE=Default'); 

功能位於DefaultGeneral.aspx頁面,我需要從一個WebBrowser控件中調用它

webBrowser1.Navigate("http://mySite/DefaultGeneral.aspx"); 

待辦事項你有什麼想法?謝謝。

回答

8

由於您使用的是WebBrowser對象,因此我會假定這實際上是一個Windows窗體問題,而不是一個asp.net問題。

你應該看看網頁瀏覽器的功能InvokeScript

比方說,你的網頁有以下功能:

不帶參數:

<script type="text/javascript"> 
    // Function Without Parameters 
    function JavaScriptFunctionWithoutParameters() { 
     outputID.innerHTML = "JavaScript function called!"; 
    } 
</script> 

你想叫它方式如下:

this.webBrowser.InvokeScript("JavaScriptFunctionWithoutParameters"); 

含參數的

<script type="text/javascript"> 
    // Function With Parameters 
    function Goto(someParameter) { 
     outputID.innerHTML = someParameter; 
    } 
</script> 

你會這樣稱呼它:

object[] param = new object[1]; 
param [0] = "DM_NEW_OBJECT.ASPX?DM_CAT_ID=2063&amp;DM_PARENT_ID=2217&amp;INPUTSELECTION=&amp;DM_OBJECT_ID=0&amp;PACK_ID=0&amp;CASE_ID=0&amp;mode=0&amp;SITE=Default"; 
this.webBrowser1.Document.InvokeScript("Goto", param); 
0

在C#中,你必須做這樣的事情:

Page.ClientScript.RegisterStartupScript(this.GetType(),"CallMyFunction","MyFunction()",true); 

或者這樣:

ClientScript.RegisterStartupScript(GetType(),"hwa","alert('Hello World');",true); 

看看這個文檔...

http://msdn.microsoft.com/en-us/library/system.web.ui.page.clientscript(v=vs.110).aspx 
-2

也許......放javascript:轉到

<body onload="">

...在引號內。

相關問題