首页
关于我们
服务项目
作品展示
服务支持
联系我们
友情链接
网站地图
 您当前位置:网络学院 -> 编程开发系-> 编程开发-> java教程
结合MS AJAX将js文件编译到动态链接库
作者:admin 来源:网络
日期: 2007-2-27
站内搜索
文章页数:[1] 

为了使javascript代码不被窃取,我们可以将js文件编译成动态链接库(dll)文件。下面为了演示这一功能,创建了一个控件。

一、创建一个类库项目,命名为UpdateAnimate。

二、向项目中添加引用System.Web, System.Drawing, System.Web.Extensions

三、向项目中添加一个Jscript的文件UpdatePanelAnimation.js

四、向文件中添加如下代码:

BorderAnimation = function(color)

{

this._color = color;

}

BorderAnimation.prototype =

{

animate: function(panelElement)

{

var s = panelElement.style;

s.borderWidth = '2px';

s.borderColor = this._color;

s.borderStyle = 'solid';

window.setTimeout(

function()

{

{

s.borderWidth = 0;

}

},

500);

}

}

这短代码中,包含一段临时改变UpdatePanel控件样式的方法

五、解决方案资源管理器中,右键查看UpdatePanelAnimation.js的属性,把高级中的“生成操作”属性设置成“嵌入的资源”。

六、向项目中添加一个类CustomControl

七、替换类中的代码:

八、向AssemblyInfo.cs文件中添加如下行:

[assembly: System.Web.UI.WebResource("UpdateAnimate.UpdatePanelAnimation.js", "application/x-javascript")]

九、生成项目。

控件演示:

一、创建一个AJAX-enabled类型的网站项目。

二、向网站跟目录下添加bin目录。

三、从控件项目的bin\Debug或 bin\Release目录拷贝UpdateAnimate.dll到网站bin目录里。

四、替换Default.aspx的内容并运行程序:

using System;

using System.Drawing;

using System.Web.UI;

using System.Web;

using System.Globalization;

namespace UpdateAnimate

{

public class UpdatePanelAnimationWithClientResource : Control

{

private string _updatePanelID;

private Color _borderColor;

private Boolean _animate;

public Color BorderColor

{

get

{

return _borderColor;

}

set

{

_borderColor = value;

}

}

public string UpdatePanelID

{

get

{

return _updatePanelID;

}

set

{

_updatePanelID = value;

}

}

public Boolean Animate

{

get

{

return _animate;

}

set

{

_animate = value;

}

}

protected override void OnPreRender(EventArgs e)

{

base.OnPreRender(e);

if (Animate)

{

UpdatePanel updatePanel = (UpdatePanel)FindControl(UpdatePanelID);

string script = String.Format(

CultureInfo.InvariantCulture,

@"

Sys.Application.add_load(function(sender, args) {{

var {0}_borderAnimation = new BorderAnimation('{1}');

var panelElement = document.getElementById('{0}');

if (args.get_isPartialLoad()) {{

{0}_borderAnimation.animate(panelElement);

}}

}})

",

updatePanel.ClientID,

ColorTranslator.ToHtml(BorderColor));

ScriptManager.RegisterStartupScript(

this,

typeof(UpdatePanelAnimationWithClientResource),

ClientID,

script,

true);

文章页数:[1] 
放大字体显示 缩小字体显示 打印文章 推荐给朋友
热门文章
·结合MS AJAX将js文件编译到动态链接库
·如何掌握Java(J2SE篇)
·如何才算掌握Java(J2SE篇)
·java加密枝术
·JAVA代码编程规范
·理解java中接口
·j2ee13种核心技术
·JAVA和C++区别
·利用Java实现串口全双工通讯
·学习Java的30个基本概念
最新文章
·学习Java的30个基本概念
·JAVA和C++区别
·如何掌握Java(J2SE篇)
·如何才算掌握Java(J2SE篇)
·JAVA代码编程规范
·理解java中接口
·利用Java实现串口全双工通讯
·J2SE API读取Properties文件六种方法
·Java语言中链表和双向链表的实现
·谈谈JavaScript中的数组、集合及效率
相关主题
版权申明:除部分特别声明不要转载,或者授权本站独家播发的文章外,大家可以自由转载本站的原创文章,但原作者和来自本站的链接必须保留(非本站原创的,按照原来自一节,自行链接)。文章版权归本站和作者共有。
转载要求:转载之图片、文件,链接请不要盗链到本站,且不准打上各自站点的水印,亦不能抹去本站水印。
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有。
发表评论  打印  刷新  推荐给朋友  返回顶部  关闭

网上大名: