我有一个带有WebBrowser控件的C#WinForm应用程序,它加载一个ASP.NET页面。我想要完成的是能够从C#应用程序调用JavaScript函数到ASP.NET应用程序。
Javascript函数在Masterpage中声明如下:
<script language="javascript" type="text/javascript">
function HelloWorld(myString)
{
alert('C# says ' + myString);
}
</script>
我正在测试.aspx.cs(代码隐藏)中的函数,看看我能否达到它:
ScriptManager.RegisterStartupScript(this.Page, this.GetType(), "HelloWorld",
"HelloWorld('Bummer, this was from ASP.NET :(');", true);
这样可以正常打印出来。我从代码隐藏文件中删除了这一行。
在我的C#应用程序中,我执行以下操作:
private void CallHelloWorld(WebBrowser _webBrowser, string _sMessage)
{
object[] _objects = {_sMessage};
_webBrowser.Document.InvokeScript("HelloWorld",_objects);
}
ASP.NET应用程序没有响应。我也试过打印_webBrowser.DocumentText
(检查页面源代码),但这里没有JavaScript函数(只是PlaceHolders的一些声明等)。