【问题标题】:interaction b/w silverlight and javascript for Out of browser applications!用于 Out of browser 应用程序的黑白 silverlight 和 javascript 交互!
【发布时间】:2010-10-29 21:54:14
【问题描述】:

我没有找到与上述主题相关的任何帖子或教程。

基本上,我在 webbrowser 控件中查看了一个页面。

页面是一个表单。如果表单提交成功,我将转移到成功页面(使用 HttpContext.Current.Server.Transfer),如果我转移到该页面,我想要一些 javascript,Silverlight 交互让 Silverlight 应用程序知道表单已提交成功。

谢谢

贾马尔。

附言

我想到的一种方法是,我会从 SL 应用程序检查 webbrowser 控件的来源。但是 webbrowser 的 source 属性没有得到更新,如果页面使用一些超链接从页面内浏览到其他页面。

【问题讨论】:

    标签: silverlight-4.0


    【解决方案1】:

    在该页面上放置以下 javascript,这将通知您在 Silverlight 中的 WebBrowser 控件,该表单已成功提交,我建议使用 Response.Redirect 而不是 Server.Transfer。

        <script type="text/javascript" language="javascript" >
            window.external.notify('Your text to pass to Silverlight');
        </script>
    

    在 Silverlight 中注册 WebBrowser 控件的 ScriptNotify 事件..

    Xaml:

        <WebBrowser x:Name="myWebBrowser" ScriptNotify="myWebBrowser_ScriptNotify" ></WebBrowser>
    

    代码背后:

        private void myWebBrowser_ScriptNotify(object sender, NotifyEventArgs e)
        {
            string response = e.Value; // e.Value will be "Your text to pass to Silverlight"
        }
    

    【讨论】:

    • 嗨,我已经尝试过这个解决方案,但我收到了一个 javascript 错误。此页面对象的脚本中发生错误不支持此属性或方法。您在 Out of browser application 中尝试过此代码吗?
    • 是的,这是工作代码,我正在使用浏览器应用程序。仅供参考,WebBrowser 控件在浏览器中不起作用,它只能在浏览器应用程序外起作用。
    • 嗨,我创建了一个示例项目并添加了您提供的代码,但出现了同样的问题。请从“cid-27fc419fc3a04fa7.office.live.com/browse.aspx/.Public”中提取 WebBrowserControl.rar 文件,放置文件“webbrowsercontroltestingwebpage.html” " 在 wwwroot 文件夹中。打开文件夹“LearningWebBrowserSLNavApp”下的解决方案。运行项目,然后在文本框中输入 url“127.0.0.1/webbrowsercontroltestingwebpage.html"and 你自己会看到错误。
    • 有谁愿意回答这个帖子?
    猜你喜欢
    • 1970-01-01
    • 2011-03-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-07
    • 1970-01-01
    相关资源
    最近更新 更多