步骤一:在silverlight后台代码类中声明被js调用的方法
首先要在构造函数中添加
HtmlPage.RegisterScriptableObject("HtmlDemo", this);
其次声明被js调用的方法:
[ScriptableMember]
public void UpdateText(string htmlSource)
{
if (htmlSource != null)
{
this.richTextBox.HTML = htmlSource;
}
}
在此声明在何时调用js方法(这里试在按钮1点击时):
private void button1_Click(object sender, RoutedEventArgs e)
{
//int width = 620;
//int height = 220;
//HtmlElement heScript = HtmlPage.Document.CreateElement("script");
//heScript.SetAttribute("type", "text/javascript");
//string scriptStr = "function ShowModal(uristring)";
//scriptStr += "{";
//scriptStr += "var result = window.ShowModalTest(uristring,";
//scriptStr += "'dialogWidth:" + width.ToString() + "px; dialogHeight:" + height.ToString() + "px; center:yes');}";
//heScript.SetProperty("text", scriptStr);
//HtmlPage.Document.Body.AppendChild(heScript);
Uri u = new Uri(Application.Current.Host.Source, "../FckeditorDemo.aspx");
ScriptObject showModal = HtmlPage.Window.GetProperty("ShowModalTest") as ScriptObject;
showModal.InvokeSelf(u.OriginalString);
}
步骤二:在html页面声明js方法
function ShowModalTest(form) {
var result = window.showModalDialog(form,"dialogWidth:620px; dialogHeight:320px; center:yes");
var silverlightObject = document.getElementById("mySilverlightControl");
silverlightObject.content.HtmlDemo.UpdateText(result);
}
分享到:
相关推荐
首先,让我们了解Silverlight与JavaScript相互调用的基础概念。在Silverlight应用中,JavaScript可以作为与HTML页面交互的桥梁,而Silverlight则提供了丰富的图形和媒体处理能力。通过建立这种通信机制,开发者可以...
总结一下,子窗口、父窗口和Silverlight之间的相互调用是通过JavaScript和Silverlight的互操作性实现的。这种机制允许Web应用程序构建更复杂、更动态的用户界面,提高用户体验。了解并熟练掌握这些技巧对于任何Web...
然而,随着技术的发展,Silverlight已逐渐被淘汰,现代Web开发更多地转向了HTML5、CSS3和JavaScript等技术栈,如Angular、React和Vue.js等框架。尽管如此,理解这些传统的技术仍然有助于我们更好地理解现代Web开发的...
Path - 一系列相互连接的直线和曲线 Polygon - 多边形,闭合图形,起点与终点自动相连 Polyline - 非闭合图形,一串连接起来的线,起点与终点不会自动相连 Rectangle - 矩形 6、Silverlight(8) - 2.0图形之基类...
HTML页面可以嵌入Silverlight组件,使得Silverlight应用能够与HTML页面交互,比如通过JavaScript调用Silverlight对象的方法,或者传递数据。 在描述中提到的“sl查看asp.net的报表”,这可能涉及到数据可视化。...
4. **JavaScript-WPF桥接**:通过使用像是`ScriptHost`或`JavaScriptObjectReference`等API,JavaScript和WPF可以相互通信,实现例如在网页中触发WPF事件或从WPF调用JavaScript函数的功能。 5. **交互性增强**:...
- **基于浏览器端编程使用REST API**:探讨了使用JavaScript、Flex和Silverlight等前端技术构建基于REST的应用程序。 - **通过服务器端和桌面编程使用REST API**:讲解了如何利用Python、ASP.Net和Java等后端语言...
通过该API,开发者可以利用JavaScript在Canvas元素上绘制图像、图形、文本、以及动画等,而无需依赖其他插件如Flash或者Silverlight。HTML5 Canvas 2D API 规范定义了一系列的对象和方法,用于实现2D绘图功能。 在...