Html控件与Silverlight与Javascript 相互通信

首先,我要们在页面添加一个html的控件:

<input id="btn_exchange" type="button" value="exchange" />

在Silverlight的后台代码添加

HtmlDocument doc = HtmlPage.Document;//获取页面的文档
doc.GetElementById("btn_exchange").AttachEvent("click", new EventHandler(CallJavascriptMethod));//获取页面某一ID(btn_exchange)元素,并设置其"click"的冒泡事件。该事件会触发哪个事件(CallJavascriptMethod)

        private void CallJavascriptMethod(object sender, EventArgs e)
        {//事件的函数
            string strMs = DateTime.Now.ToString();//业务逻辑
            HtmlPage.Window.Invoke("globalJSMethod", strMs);//异步调用页面的JS函数(globalJSMethod)并传递参数(strMs)
        }

页面JS的函数:

    <script language="javascript" type="text/javascript">
        function globalJSMethod(msg) {
            alert(msg);//接收异步调用的参数
        }
    </script>

你可能感兴趣的:(silverlight)