zoukankan      html  css  js  c++  java
  • Silverlight和javascript的相互调用

    1.javascript调用silverlight

    首先在silverlight的C#代码中定义一个public方法

            /// <summary>
            /// 地图查询
            /// </summary>
            /// <param name="keyword"></param>
            [ScriptableMember]
            public void QuerySQL(string keyword)
            {
                myMapTools.QuerySQL(keyword);
            }
     
    并且该类的头部 加属性 

    [ScriptableType()]

     
    在构造函数中加入

    HtmlPage.RegisterScriptableObject("Map", this);

     

    最后 在js代码中调用

            //查询
           var slcontrol=null;
           function QuerySQL(keyword) {
               if (slcontrol == null) {
                   var slcontrol = document.getElementById('silverlightControl');
               }
               slcontrol.content.Map.QuerySQL(keyword);
           }
     
    slcontrol.content.Map中的Map即是 HtmlPage.RegisterScriptableObject("Map", this);注册的Map,我们取
    自己想要的名字就行了.
    'silverlightControl' 为silverlight的<object>标签的ID

    2.silverlight调用javascript

    //调用js
    HtmlPage.Window.Invoke("test", "Invoke");
    test 为js函数
     

    silverlight修改dom元素属性

    比如页面中有一个文本框: <input type="text" id="txtTarget" name="txtTarget" />

     
    HtmlPage.Document.GetElementById("txtTarget").SetAttribute("value", "Silverlight");
    HtmlPage.Document.GetElementById("txtTarget").SetProperty("value", "Silverlight");
    Powered By D&J (URL:http://www.cnblogs.com/Areas/)
  • 相关阅读:
    深入Vue.js从源码开始(二)
    Vue.js的动态组件模板
    Vue中的methods、watch、computed
    Understand .sync in Vue
    vue程序中组件间的传值方式
    xUtils框架的介绍(一)
    xUtils框架的介绍(二)
    Java如何计算hashcode值
    Java网络编程总结
    深入Java线程管理(五):线程池
  • 原文地址:https://www.cnblogs.com/Areas/p/2154613.html
Copyright © 2011-2022 走看看