Microsoft ASP.NET Futures May 2007,这是一个Future的好东西,包括了:ASP.NET AJAX Futures,Silverlight Controls for ASP.NET,Dynamic Data Controls for ASP.NET,ASP.NET Application Services,Dynamic Languages Support in ASP.NET。今天尝试了一下Silverlight Controls for ASP.NET中的Xaml Control,Xaml Control是一个Asp.net AJAX扩展控件,使用这个控件就可以不需要引用silverlight.js文件了,也不需要调用Sys.Silverlight.createObject或者Sys.Silverlight.createObjectEx的脚本了,就像Asp.net 服务端控件那样使用,开发很简单,Js脚本可以按照ASP.NET AJAX JavaScript库进行面向对象的编程。在下面内容之前建议你先看下面两篇文章:
更新Silverlight ctp到Silverlight beta 1.0
ASP.NET AJAX 控件开发基础
下面这个例子是对 Silverlight1.0SDK 时钟例子的重构:
1、首先下载安装  Microsoft ASP.NET Futures May 2007
2、创建一个ASPNETFuturesEnabledWebApplication类型项目
3、将Clock例子的js,xaml和assets文件夹拷贝到项目中,删除js目录下的silverlight.js文件
4、重构Clock.js代码如下:
designerClock = function() {
this.hourAnimation = null;
this.minuteAnimation = null;
this.secondAnimation = null;
}
designerClock.prototype = {
initializeComponent: function(slhost) {
var host = slhost.content;
this.hourAnimation = host.findName("hourAnimation");
this.minuteAnimation = host.findName("minuteAnimation");
this.secondAnimation = host.findName("secondAnimation");
}
}
Type.registerNamespace("Custom");
Custom.Clock = function(element)
{
Custom.Clock.initializeBase(this, [element]);
this._designer = new designerClock();
this.control = null;
}
Custom.Clock.prototype = {
xamlInitialize : function() {
Custom.Clock.callBaseMethod(this, 'xamlInitialize');
// We could push this into a base class for the designer file
this._designer.initializeComponent(this.get_element());
var now = new Date();
var hourAnimation = this._designer.hourAnimation;
var minuteAnimation = this._designer.minuteAnimation;
var secondAnimation = this._designer.secondAnimation;
if (hourAnimation) {
var hours = now.getHours();
// We need to include minutes as well. Because each hour consists of
// 30 degrees, each additional minute adds half a degree to the angle
// of the hour hand
var angle = (hours / 12) * 360 + now.getMinutes()/2;
angle += 180;
hourAnimation.from = angle.toString();
hourAnimation.to = (angle + 360).toString();
}
if (minuteAnimation) {
var minutes = now.getMinutes();
var angle = (minutes / 60) * 360;
angle += 180;
minuteAnimation.from = angle.toString();
minuteAnimation.to = (angle + 360).toString();
}
if (secondAnimation) {
var seconds = now.getSeconds();
var angle = (seconds / 60) * 360;
angle += 180;
secondAnimation.from = angle.toString();
secondAnimation.to = (angle + 360).toString();
}
},
dispose: function() {
if (this.control) {
this.control = null;
}
Custom.Clock.callBaseMethod(this, "dispose");
}
}
Custom.Clock.registerClass('Custom.Clock', Sys.Preview.UI.Xaml.Control);
在Default.aspx页面中加入一个Xaml Control,内容如下:















按Ctrl + F5运行就可以看到漂亮的时钟了。
×××: [url]http://www.cnblogs.com/Files/shanyou/SilverlightFutures.zip[/url]
自由、创新、研究、探索……
职场 Asp.net 休闲 ASP.NET AJAX

0

收藏

上一篇:Silverlight for ... 下一篇:.NET with Ruby a...
张善友

499篇文章,111W+人气,0粉丝

Ctrl+Enter 发布

发布

取消

推荐专栏更多

微服务技术架构和大数据治理实战

大数据时代的微服务之路

共18章 | 纯洁微笑

¥51.00 703人订阅
订   阅
基于Python的DevOps实战

自动化运维开发新概念

共20章 | 抚琴煮酒

¥51.00 555人订阅
订   阅

猜你喜欢

我的友情链接 CentOS 7 通过 持续集成包 安装最新的 Mono VS.Net 2005 中文正式版下载 Log4Net使用详解(续) 杂七杂八(1)——如何查看本机的.NET Framework版本 大型软件公司.net面试题!一定得看(附答案) NET USE 命令用法 我们不得不面对的中年职场危机 Java线程:线程的调度-休眠 用光影魔术手制作一寸照片(8张一寸) chrome NET::ERR_CERT_AUTHORITY_INVALID提示网址不安全无法访问 职场终极密籍--记我的职业生涯 C#/VB.NET 将SVG图片添加到PDF、转换为PDF 接口默认方法是什么鬼 一次有趣的Linux下.Net Core与C语言的合作开发体验:生成Linux标准的用户密码串 ASPNetCore MVC ModelValidation-ajax C#如何设置Excel文档保护——工作簿、工作表、单元格 在.NET数据库访问方面的Dapper类库介绍 C#/VB.NET 如何添加、获取、删除PDF附件 C#/VB.NET 创建PDF项目符号列表和多级编号列表

扫一扫,领取大礼包

0

分享
使用 Asp.net Future May 2007 开发Silverlight应用_第2张图片
张善友