0

我们有一个设置,其中 .NET 嵌入式浏览器用于显示通过将 XSLT 文件应用于 XML 文件(使用 .NET)生成的 HTML 页面。DocumentText这会生成使用该属性在嵌入式浏览器中显示的 HTML 。

我想要实现的是在 .NET 上使用 AJAX 将一些数据发送到 .NET 组件onmouseover。问题是,.NET 应用程序声明 URL 是about:blank,这也是手册所说的关于使用该DocumentText属性的内容:

当您想要使用字符串处理工具来操作显示在 WebBrowser 控件中的 HTML 页面的内容时,请使用此属性。例如,您可以使用此属性从数据库加载页面或使用正则表达式分析页面。设置此属性时,WebBrowser 控件会在加载指定文本之前自动导航到 about:blank URL。这意味着在设置此属性时会发生 Navigating、Navigated 和 DocumentCompleted 事件,并且 Url 属性的值不再有意义。

那么如何在这个组件中使用 AJAX 呢?我没有要提交的网址...

有没有人做到这一点?顺便说一句,我只做 JS,我不编写 .NET。

我的代码不起作用:

    <script>

    function fnLog(action,rule){
        $.ajax({
          type: "POST",
//or: url:'about:blank',
//or: url: '',
//or url: 'localhost',
          data: "xmlToPost=<cr>"+
    " <guiActions>"+
        " <log>"+
           "  <action>"+action+"</action>"+
           "  <ruleId>"+rule+"</ruleId>"+
         "</log>"+
    " </guiActions>"+
 "</cr>"
        });
    }

    </script> 

编辑:我知道window.external.Post,但这仅适用于 IE,并且与其他代码不同。.NET 开发人员希望坚持一种将数据发送到 .NET 的方式,此时通过发布它来完成,只在每个上发布一个表单mouseover并不好,所以这就是我在看.NET 的原因AJAX

4

1 回答 1

0

您可以尝试导航到其他地方,例如ajax://<cr><guiAction.....,.NET 组件将收到通知,获取新 URL 并相应地解析它并防止重定向,因此页面实际上不会发生任何事情。

于 2013-04-11T12:52:14.453 回答