2014-12-02 36 views
6

chcę wywołać funkcję javascript „GOTO” tak:Jak wywołać javascript w formancie WebBrowser w WinForm?

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'); 

funkcja znajduje się na stronie DefaultGeneral.aspx i muszę nazwać go od wewnątrz formantu WebBrowser

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

Do masz jakiś pomysł? Dziękuję Ci.

Odpowiedz

8

Ponieważ korzystasz z obiektu WebBrowser, założę, że jest to w rzeczywistości pytanie o formularze systemu Windows, a nie pytanie asp.net.

Powinieneś spojrzeć na funkcję InvokeScript przeglądarki internetowej.

Załóżmy, że Twoja strona ma następującą funkcję:

bez parametrów:

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

co chcesz to nazwać w następujący sposób:

this.webBrowser.InvokeScript("JavaScriptFunctionWithoutParameters"); 

z parametrami:

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

Można by nazwać tak:

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

W języku C# trzeba zrobić coś takiego:

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

albo to:

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

Sprawdź tę doc ...

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

Może ... umieścić javascript: Przejdź do

<body onload="">

... wewnątrz ofert.