_Ajax编程_黑客防线网安服务器维护基地--Powered by WWW.RONGSEN.COM.CN

结合MS AJAX将js文件编译到动态链接库

作者:黑客防线网安Ajax教程基地 来源:黑客防线网安Ajax教程基地 浏览次数:0

本篇关键词:编译动态链接文件

  为了使javascript代码不被窃�颐强梢越玧s文件编译成动态链接库(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);
              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);
              }
          }
      }
  }

   

   

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

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

  九、生成项目。

   

  控件演示:

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

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

  三、从控件项目的binDebug或 binRelease目录拷贝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"
      "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

  <script runat="server">

  </script>

  <html xmlns="http://www.w3.org/1999/xhtml">
  <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文件编译到动态链接库的文章能够对您有所帮助,如果您觉得这篇网站维护教程有用的话,别忘了推荐给您的朋友哦!如果您有好的经验方法,不妨拿出来和大家一起分享:假如每个人都拿出一个经验,那么我们都将额外的获取一堆他人的经验。
请记住本站永久域名:(黑客防线网安服务器维护方案维护基地)Www.Rongsen.Com.Cn
    黑客防线网安服务器维护方案本篇连接:http://www.rongsen.com.cn/show-15516-1.html
网站维护教程更新时间:2012-04-05 00:02:25  【打印此页】  【关闭
0
顶一下
0
踩一下
我要申请本站N点 | 黑客防线官网 |  
专业服务器维护及网站维护手工安全搭建环境,网站安全加固服务。黑客防线网安服务器维护基地招商进行中!QQ:29769479

footer  footer  footer  footer