Silverlight中JS访问C#代码学习
2010-07-15 23:15
211 查看
Silverligh中System.Windows.Browser命名空间下提供了供JS和SL后台代交互的类.
ScriptableTypeAttribute:指定类或者结构体能被JS访问的能力.
ScriptableMemberAttribute:指定一个方法,属性或者事件能被JS访问的能力.
HtmlPage.RegisterScriptableObject("hwj383 ", this);//如果这个类中没有可以Scriptable的对象会在运行时出异常
客户端通过为SL的指定一个Id如:
然后通过:
客户端对象.Content.注册名.方法/属性来访问;
var Plugin = document.getElementById("SilverlightPlugin");
如本例是: Plugin.Content.hwj383.JsCallTest();
[ScriptableMember(ScriptAlias = "AliasName")] //指定一别名,客户端通过别名来访问
对自定义类的访问
客户端可以通过:
var v = SilverlightPlugin.Content.services.createObject("hwj");//创建一个对象
v.Add(1, 2);//调用其方法
未完,待续......
ScriptableTypeAttribute:指定类或者结构体能被JS访问的能力.
ScriptableMemberAttribute:指定一个方法,属性或者事件能被JS访问的能力.
HtmlPage.RegisterScriptableObject("hwj383 ", this);//如果这个类中没有可以Scriptable的对象会在运行时出异常
[ScriptableType]//标记此类中的所有公有且非静态方法和属性都能访问,而类里面的成员不必再加上ScriptableMember标记. public partial class MainPage : UserControl { public MainPage() { InitializeComponent(); HtmlPage.RegisterScriptableObject("hwj383", this);//如果这个类中没有可以Scriptable的对象会在运行时出异常 //HtmlPage.RegisterCreateableType("hwj383", this.GetType());//Exception //HtmlPage.RegisterCreateableType("hwj383", typeof(hwj)); } public void JsCallTest() { HtmlPage.Window.Alert("Js调用测试"); } }
客户端通过为SL的指定一个Id如:
<object data="data:application/x-silverlight-2," type="application/x-silverlight-2" width="100%" height="100%" id="SilverlightPlugin">
然后通过:
客户端对象.Content.注册名.方法/属性来访问;
var Plugin = document.getElementById("SilverlightPlugin");
如本例是: Plugin.Content.hwj383.JsCallTest();
[ScriptableMember(ScriptAlias = "AliasName")] //指定一别名,客户端通过别名来访问
对自定义类的访问
[ScriptableType] public class hwj { //[ScriptableMember]//不必加了,类上加了ScriptableType,默认可以访问 public int Add(int i, int k) { return i + k; } } HtmlPage.RegisterCreateableType("hwj", typeof(hwj));//注册一个客户端可以访问的对象 hwj
客户端可以通过:
var v = SilverlightPlugin.Content.services.createObject("hwj");//创建一个对象
v.Add(1, 2);//调用其方法
未完,待续......
相关文章推荐
- [Silverlight学习记录]Resources-2 (使用代码访问Silverlight资源)
- C#【js利用ajax去访问后台代码】
- 用JS调用Silverlight 3.0的托管代码
- C# SqlHelper数据库的通用访问代码
- 【转】用C#实现win7下vs2008的激活(附学习交流代码)
- “C#学习笔记”全面改版,欢迎大家访问!
- Silverlight 2学习教程(五):JavaScript与Silverlight托管代码相互调用
- C# 全过程用户权限实现策论 (3.权限与代码安全访问)
- 常见排序算法学习及C#代码实现
- C# WinForm 打开浏览器并访问网址代码
- js使用C#代码
- 10段代码打通js学习的任督二脉
- js统计网站访问次数的代码
- C#控件开发学习问题一:安全透明方法……尝试访问安全关键方法……错误
- 20101208 学习记录:Js的substring、substr和C#的Substring
- JS操作的Html控件及其代码→学习笔记
- c#代码风格——采用合适的方法访问DataTable里的记录
- c#调用js,以及js调用C#里的函数, c#自己生成js代码,实现对web的控制
- 在C# WebBrowser控件插入JS代码并执行,可以修改js就能对html执行任意操作
- Silverlight—C#代码实现变形特效