一步一步教你JS、控件封装成类库-创新互联-成都快上网建站

一步一步教你JS、控件封装成类库-创新互联

ASP.NET 2.0允许将外部资源植入控件的装配件里,通过一个指定的URL对其访问.将外部p_w_picpaths文件, JavaScript 文件,CSS 文件植入控件的装配件后,部署就容易了。这样一来不仅可以实现对页面的瘦身,还可以允许浏览器对该JavaScript文件施行缓存(这样就不用每个页面在登录/回传时向浏览器发送该JavaScript代码了)

让客户满意是我们工作的目标,不断超越客户的期望值来自于我们对这个行业的热爱。我们立志把好的技术通过有效、简单的方式提供给客户,将通过不懈努力成为客户在信息化领域值得信任、有价值的长期合作伙伴,公司提供的服务项目有:空间域名、网页空间、营销软件、网站建设、禹王台网站维护、网站推广。

例子:(对TextBox控件进行扩充)

步骤1:新建一个类库,名字叫NewTextBox

步骤2:新建一个类,名字改为NewTextBox.cs。新建一个js脚本,名字改为NewTextBox.js

一步一步教你 JS、控件封装成类库

步骤3:配置JS文件的属性(将生成操作改为 签入的资源)

一步一步教你 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:首先要在在项目中引用该类库

            一步一步教你 JS、控件封装成类库

            4.2:在页面中注册

一步一步教你 JS、控件封装成类库

步骤5:完成。预览

一步一步教你 JS、控件封装成类库

另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


当前文章:一步一步教你JS、控件封装成类库-创新互联
浏览路径:http://kswjz.com/article/csehps.html
扫二维码与项目经理沟通

我们在微信上24小时期待你的声音

解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流