为了使javascript代码不被窃取,我们可以将js文件编译成动态链接库(dll)文件。下面为了演示这一功能,创建了一个控件。
程序代码:http://www.cnblogs.com/Files/hblynn/SampleControlsCS.rar
一、创建一个类库项目,命名为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
七、替换类中的代码:
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);
如果您对本文有任何疑问或者建议,请到讨论区发表您的意见:
>>
论坛入口 <<
上一篇:Ajax光环背后的隐患 下一篇:关于在AJAX中GET回的ResponseText中文乱码的最简解决办法
【文章评论】
【收藏本文】
【推荐好友】
【打印本文】
【我要投稿】 【论坛讨论】