为了使javascript代码不被窃取,我们可以将js文件编译成动态链接库(dll)文件。下面为了演示这一功能,创建了一个控件。 程序代码:http://www.cnblogs.com/Files/hblynn/SampleControlsCS.rar 一、创建一个类库项目,命名为UpdateAnimate。 二、向项目中添加引用System.Web, System.Drawing, System.Web.Extensions 三、向项目中添加一个Jscript的文件UpdatePanelAnimation.js 四、向文件中添加如下代码: BorderAnimation.prototype = window.setTimeout( 五、解决方案资源管理器中,右键查看UpdatePanelAnimation.js的属性,把高级中的“生成操作”属性设置成“嵌入的资源”。 六、向项目中添加一个类CustomControl 七、替换类中的代码: using System; namespace UpdateAnimate public string UpdatePanelID public Boolean Animate UpdatePanel updatePanel = (UpdatePanel)FindControl(UpdatePanelID); string script = String.Format( 八、向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的内容并运行程序: <%@ Page Language=”C#” AutoEventWireup=”true” CodeFile=”Default.aspx.cs” Inherits=”_Default” %> <%@ Register TagPrefix=”Samples” Namespace=”UpdateAnimate” Assembly=”UpdateAnimate” %> <!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Transitional//EN” <script runat=”server”> </script> <html xmlns=”http://www.w3.org/1999/xhtml“>
BorderAnimation = function(color)
{
this._color = color;
}
{
animate: function(panelElement)
{
var s = panelElement.style;
s.borderWidth = 2px;
s.borderColor = this._color;
s.borderStyle = solid;
function()
{
{
s.borderWidth = 0;
}
},
500);
}
}
这段代码中,包含一段临时改变UpdatePanel控件样式的方法
using System.Drawing;
using System.Web.UI;
using System.Web;
using System.Globalization;
{
public class UpdatePanelAnimationWithClientResource : Control
{
private string _updatePanelID;
private Color _borderColor;
private Boolean _animate;
public Color BorderColor
{
get
{
return _borderColor;
}
set
{
_borderColor = value;
}
}
{
get
{
return _updatePanelID;
}
set
{
_updatePanelID = value;
}
}
{
get
{
return _animate;
}
set
{
_animate = value;
}
}
protected override void OnPreRender(EventArgs e)
{
base.OnPreRender(e);
if (Animate)
{
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);
}
}
}
}
“http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd“>
<head id=”Head1″ runat=”server”>
<title>ScriptReference</title>
</head>
<body>
<form id=”form1″ runat=”server”>
<div>
<asp:ScriptManager ID=”ScriptManager1″
EnablePartialRendering=”True”
runat=”server”>
<Scripts>
<asp:ScriptReference Assembly=”UpdateAnimate” Name=”UpdateAnimate.UpdatePanelAnimation.js” />
</Scripts>
</asp:ScriptManager>
<Samples:UpdatePanelAnimationWithClientResource
ID=”UpdatePanelAnimator1″
BorderColor=”Green”
Animate=”true”
UpdatePanelID=”UpdatePanel1″
runat=”server” >
</Samples:UpdatePanelAnimationWithClientResource>
<asp:UpdatePanel ID=”UpdatePanel1″
UpdateMode=”Conditional”
runat=”server”>
<ContentTemplate>
<asp:Calendar ID=”Calendar2″
runat=”server”>
</asp:Calendar>
</ContentTemplate>
</asp:UpdatePanel>
</div>
</form>
</body>
</html>
http://www.cnblogs.com/hblynn/archive/2007/02/01/637312.html
结合ms ajax将js文件编译到动态链接库_ajax教程
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com 特别注意:本站所有转载文章言论不代表本站观点! 本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。未经允许不得转载:IDC资讯中心 » 结合ms ajax将js文件编译到动态链接库_ajax教程
相关推荐
-      Jquery处理Json字符串的实例
-      ASP+Ajax实现无刷新评论简单例子
-      AJAX的阻塞及跨域名解析
-      AJAX学习资料
-      [js]一个获取页面ip的正则
-      ajax用户注册代码
-      each循环输出jquery返回的json字符串
-      Ajax技术全解之一