C# WebBrowser.Document.InvokeScript到ASP.NET应用程序以进行代码隐藏

C# WebBrowser.Document.InvokeScript到ASP.NET应用程序以进行代码隐藏,c#,javascript,asp.net,wcf,C#,Javascript,Asp.net,Wcf,这件事我已经做了一段时间了 我有一个运行WebBrowser的C应用程序,它承载一个asp.net应用程序。我需要的是用一些特定页面的数据更新ASP.NET应用程序中的HTTP上下文会话对象。C应用程序需要将消息“推送”到ASP.NET应用程序 我在C WebBrowser WebBrowser.DocumentText中看到的唯一页面是Default.aspx页面。因此,我无法在spesific页面中添加Javascript函数。出于测试目的,我在Default.aspx页面中添加了一个测试函

这件事我已经做了一段时间了

我有一个运行WebBrowser的C应用程序,它承载一个asp.net应用程序。我需要的是用一些特定页面的数据更新ASP.NET应用程序中的HTTP上下文会话对象。C应用程序需要将消息“推送”到ASP.NET应用程序

我在C WebBrowser WebBrowser.DocumentText中看到的唯一页面是Default.aspx页面。因此,我无法在spesific页面中添加Javascript函数。出于测试目的,我在Default.aspx页面中添加了一个测试函数,我可以访问:

<script type="text/javacript">
function AlertMsg(msg) {
alert(msg);
}
这很有效。我不能做的是使用这个'AlertMsg'函数调用任何需要的函数性背后的代码。我尝试过使用PageMethods,但到目前为止,只有在将javascript函数调用绑定到按钮时,这种方法才起作用

default.aspx页面不包含

<body> , but different forms of <framesets> and <frames>.
我还尝试创建某种WCF事件,ASP.NET应用程序中的代码将监听这些事件,但当我从C应用程序触发此事件时,这会跳过ASP.NET应用程序中的客户端层;并且HTTP上下文会话不存在NULL

有人对如何从C WebBrowser通过这个javascript函数调用代码有什么建议吗?还有一个额外的问题,如果需要的话,我仍然有点不清楚,我如何将这个javascript函数实现到我需要的spesific页面上,这样它就不会在每个页面上都可用了


谢谢

您只需在querystring中使用一些参数调用Default.aspx,然后在代码隐藏中读取querystring。是的,这可能会奏效。可能在javascript函数中使用Response.Write或Response.Redirect?您可以直接使用该查询字符串调用站点,也可以通过javascript重新加载,使用不同的查询字符串…应该很容易,尽管我遇到了两个问题:1.动态创建javascript进行导航,触发WCF事件时-我尝试使用ScriptManager.RegisterStartupScript、Page.RegisterStartupScript和ClientScript.RegisterStartupScript创建一个javascript函数,该函数可导航到另一个url。不知怎的,这些都不管用。2从C应用程序调用javascript函数-使用标记
<body> , but different forms of <framesets> and <frames>.