网管联盟 | 网管论坛 | 网管u家 | 网管博客 | 网管软件 | 网管求职 | 小游戏 | 网管搜索 | 网管原创 | 网管聚合 | 网管读摘 | 网管焦点 | 世界素材 | 会员投稿 | 会员中心 
中国网管联盟
Windows Linux Cisco 网络技术 数据库 黑客攻防 DotNet Java PHP 认证 新闻资讯 服务器 存储资讯 网络设备 网管学堂 技术专题 焦点 网吧频道
 当前位置: > bitsCN.com > DotNet > ASP.NET > 如何封装JS和CSS文件为服务器端控件  

如何封装JS和CSS文件为服务器端控件

2007-07-30  作者:bitsCN整理  来源:中国网管联盟  点评 投稿 收藏

  

    我们以封装一个JS的日期控件为列子,将它和服务器的TextBox结合在一起做成一个服务器控件,以达到直接托上去就可以使用的效果。其实很简单,大家共同学习。先看看效果图:
   网管网www.bitscn.com

网管联盟bitsCN@com


  方法:
  首先:下载一个JS的日期组件,带封装。
  然后:建一个日期类文件CalendarBox.cs代码如下:

网管u家u.bitscn@com

  using System;
  using System.Collections.Generic;
  using System.ComponentModel;
  using System.Text;
  using System.Web;
  using System.Drawing;
  using System.Web.UI;
  using System.Web.UI.WebControls;
  using System.Web.UI.HtmlControls;
  
  [assembly: WebResource(\"Wisesoft.Web.Control.Wisesoft.Calendar.calendar.js\", \"application/x-javascript\", PerformSubstitution=true)]
  
  namespace Wisesoft.Web.Control
  {
   [ToolboxBitmap(typeof(CalenderBox), \"Wisesoft.Calendar.CalendarBox.ico\")]
   public class CalenderBox : TextBox 中国网管联盟bitsCN.com
   {
   protected override void OnPreRender(EventArgs e)
   {
   string calendar = CalenderCSS.CSS;
   calendar = calendar.Replace(\"$ImaginURL$\", this.ImaginURL);
   if (!Page.ClientScript.IsClientScriptBlockRegistered(\"_calendar\"))
   Page.ClientScript.RegisterClientScriptBlock(typeof(string), \"_calendar\", calendar);
  
   this.Page.PreRenderComplete += new EventHandler(Page_PreRenderComplete);
   this.CssClass = \"Wdate\";
   this.Attributes.Add(\"onfocus\",\"setday(this)\");
   this.Attributes.Add(\"onchange\", \"checkDate(this.value)\");
   base.OnPreRender(e);
   }
  
   void Page_PreRenderComplete(object sender, EventArgs e)
   {
   Page.ClientScript.RegisterClientScriptResource(this.GetType(), \"Wisesoft.Web.Control.Wisesoft.Calendar.calendar.js\");

网管u家u.bitsCN.com


   }
  
   /**//// <summary>
   /// 弹出日期控件小图片的地址
   /// </summary>
   [Bindable(true)]
   [Category(\"图标设置\")]
   [DefaultValue(\"imagin/calender.gif\")]
   [Localizable(true)]
   public string ImaginURL
   {
   get
   {
   String s = (String)ViewState[\"ImaginURL\"];
   return ((s == null) ? \"imagin/calender.gif\" : s);
   }
   set
   {
   ViewState[\"ImaginURL\"] = value;
   }
   }
  
   /**//// <summary>
   /// 设置日期,时间的初始格式。
   /// </summary>
   [Bindable(true)]
   [Category(\"初始化设置\")]
   [DefaultValue(false)]
   [Localizable(true)]
   public bool ShowTime
网管网www_bitscn_com

   {
   get
   {
   bool s = (bool)ViewState[\"ShowTime\"];
   if (ViewState[\"ShowTime\"] != null)
   {
   return s;
   }
   return false;
   }
   set
   {
   ViewState[\"ShowTime\"] = value;
   }
   }
  
  
   /**//// <summary>
   /// 注样式文件
   /// </summary>
   /// <param name=\"path\"></param>
   private void RegisterCssFile(string path)
   {
   HtmlLink link1 = new HtmlLink();
   link1.Attributes[\"type\"] = \"text/css\";
   link1.Attributes[\"rel\"] = \"stylesheet\";
   link1.Attributes[\"href\"] = path;
   this.Page.Header.Controls.Add(link1);
   }
   }
  } 
中国网管论坛bbs.bitsCN.com

网管下载dl.bitscn.com


TAGs   服务器   控件   文件   如何   using   ///   JS   我们   设置   可以      
 上一篇:源码共享:ASP.NET发电子邮件源码   下一篇:从DataGridView托放数据到TreeView控件
如何封装JS和CSS文件为服务器端控件 评论:
loading.. 评论加载中…
评论:请自觉遵守互联网相关政策法规,评论不得超过250字。

验证码: 注册用户
本类热门排行:
最新推荐文章:
网管论坛交流: