一步一步教你JS、控件封装成类库-创新互联
ASP.NET 2.0允许将外部资源植入控件的装配件里,通过一个指定的URL对其访问.将外部p_w_picpaths文件, JavaScript 文件,CSS 文件植入控件的装配件后,部署就容易了。这样一来不仅可以实现对页面的瘦身,还可以允许浏览器对该JavaScript文件施行缓存(这样就不用每个页面在登录/回传时向浏览器发送该JavaScript代码了)
让客户满意是我们工作的目标,不断超越客户的期望值来自于我们对这个行业的热爱。我们立志把好的技术通过有效、简单的方式提供给客户,将通过不懈努力成为客户在信息化领域值得信任、有价值的长期合作伙伴,公司提供的服务项目有:空间域名、网页空间、营销软件、网站建设、禹王台网站维护、网站推广。例子:(对TextBox控件进行扩充)
步骤1:新建一个类库,名字叫NewTextBox
步骤2:新建一个类,名字改为NewTextBox.cs。新建一个js脚本,名字改为NewTextBox.js
步骤3:配置JS文件的属性(将生成操作改为 签入的资源)
------------------------------------------------------NewTextBox.cs
using System; using System.Collections.Generic; using System.Text; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; namespace NewTextBox { //继承TextBox类 public class NewTextBox:TextBox { ////// 重写WebControl类中的虚方法 /// /// protected override void AddAttributesToRender(HtmlTextWriter writer) { //给当前的控件(NewTextBox)加上一个事件(onkeydown="ChangeBackgroundColor(this)") writer.AddAttribute("onkeydown", "ChangeBackgroundColor(this)"); base.AddAttributesToRender(writer); } ////// 重写Control类中的虚方法(页面呈现之前触发。在Page_Load之后触发) /// /// protected override void OnPreRender(EventArgs e) { //注册脚本文件 键 URL Page.ClientScript.RegisterClientScriptInclude("NewTextBox", Page.ClientScript.GetWebResourceUrl(this.GetType(), "NewTextBox.NewTextBox.js")); base.OnPreRender(e); } } }
------------------------------------------------------NewTextBox.js
function ChangeBackgroundColor(ntb){ var rand= Math.floor( Math.random()*1000000) ntb.style.background='#'+rand }
------------------------------------------------------AssemblyInfo.cs
using System.Reflection; using System.Runtime.CompilerServices; using System.Runtime.InteropServices; using System.Web.UI; //添加的命名空间 // 有关程序集的常规信息通过下列属性集 // 控制。更改这些属性值可修改 // 与程序集关联的信息。 [assembly: AssemblyTitle("NewTextBox")] [assembly: AssemblyDescription("")] [assembly: AssemblyConfiguration("")] [assembly: AssemblyCompany("http:/sdwm.org")] [assembly: AssemblyProduct("NewTextBox")] [assembly: AssemblyCopyright("版权所有 (C) http:/sdwm.org 2014")] [assembly: AssemblyTrademark("")] [assembly: AssemblyCulture("")] // 将 ComVisible 设置为 false 使此程序集中的类型 // 对 COM 组件不可见。如果需要从 COM 访问此程序集中的类型, // 则将该类型上的 ComVisible 属性设置为 true。 [assembly: ComVisible(false)] // 如果此项目向 COM 公开,则下列 GUID 用于类型库的 ID [assembly: Guid("dd796ec9-d130-4195-a7ca-48decdd1d813")] // 程序集的版本信息由下面四个值组成: // // 主版本 // 次版本 // 内部版本号 // 修订号 // // 可以指定所有这些值,也可以使用“修订号”和“内部版本号”的默认值, // 方法是按如下所示使用“*”: [assembly: AssemblyVersion("1.0.0.0")] [assembly: AssemblyFileVersion("1.0.0.0")] //添加的特性 资源名称(包括路径),资源类型 [assembly: WebResource("NewTextBox.NewTextBox.js", "text/javascript")]
步骤4:在页面中应用
4.1:首先要在在项目中引用该类库
4.2:在页面中注册
步骤5:完成。预览
另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。
分享名称:一步一步教你JS、控件封装成类库-创新互联
分享链接:http://azwzsj.com/article/csehps.html