如何创建一个AJAXControlToolKit的扩展控件

yizhihongxing

创建 AJAX Control Toolkit 的扩展控件的过程大致可分为以下几个步骤:

  1. 创建一个新的 ASP.NET Web 控件库
    在 Visual Studio 中创建一个新的 ASP.NET 控件库。这里需要选择“Web 控件库”作为项目类型,并且将项目命名为“AJAXControlToolKit.Extended”。在创建完成后,打开“AssemblyInfo.cs”文件,将“AssemblyVersion”属性修改为一个较小版本号,否则在后续注册控件时可能出现版本冲突的问题。

  2. 编写新的“ExtenderControl”扩展器控件
    在“AJAXControlToolKit.Extended”项目中添加一个新的“ExtenderControl”类,并继承自“ExtenderControl”控件。在新类中实现必要的函数和方法以及自定义的属性和事件。下面是一个示例代码:

using System;
using System.ComponentModel;
using System.Web.UI;
using System.Web.UI.WebControls;

namespace AJAXControlToolKit.Extended
{
    [ToolboxItem(false)]
    [TargetControlType(typeof(TextBox))]
    public class MyExtenderControl : ExtenderControlBase
    {
        [ExtenderControlProperty]
        [DefaultValue("")]
        [IDReferenceProperty(typeof(CssStyleCollection))]
        public string MyCssClass
        {
            get
            {
                return GetPropertyValue("MyCssClass", "");
            }
            set
            {
                SetPropertyValue("MyCssClass", value);
            }
        }

        protected override IEnumerable<ScriptDescriptor> GetScriptDescriptors(Control targetControl)
        {
            ScriptBehaviorDescriptor descriptor = new ScriptBehaviorDescriptor("AJAXControlToolKit.Extended.MyExtenderBehavior", targetControl.ClientID);
            descriptor.AddProperty("myCssClass", this.MyCssClass);

            return new ScriptDescriptor[] { descriptor };
        }

        protected override IEnumerable<ScriptReference> GetScriptReferences()
        {
            ScriptReference reference = new ScriptReference();
            reference.Assembly = "AJAXControlToolKit.Extended";
            reference.Name = "AJAXControlToolKit.Extended.MyExtenderBehavior.js";

            return new ScriptReference[] { reference };
        }
    }
}
  1. 使用 JavaScript 编写扩展器控件的客户端代码
    在“AJAXControlToolKit.Extended”项目中添加一个新的 JavaScript 文件,“AJAXControlToolKit.Extended.MyExtenderBehavior.js”。在新的 JavaScript 文件中编写扩展器控件的客户端代码。下面是一个示例代码:
Type.registerNamespace("AJAXControlToolKit.Extended");

AJAXControlToolKit.Extended.MyExtenderBehavior = function(element) {
    AJAXControlToolKit.Extended.MyExtenderBehavior.initializeBase(this, [element]);

    this._myCssClass = "";
}

AJAXControlToolKit.Extended.MyExtenderBehavior.prototype = {
    initialize : function() {
        AJAXControlToolKit.Extended.MyExtenderBehavior.callBaseMethod(this, "initialize");
    },

    dispose : function() {
        AJAXControlToolKit.Extended.MyExtenderBehavior.callBaseMethod(this, "dispose");
    },

    get_MyCssClass : function() {
        return this._myCssClass;
    },

    set_MyCssClass : function(value) {
        this._myCssClass = value;
    }
}

AJAXControlToolKit.Extended.MyExtenderBehavior.registerClass('AJAXControlToolKit.Extended.MyExtenderBehavior', AJAXControlToolKit.ExtenderControlBehavior);

if (typeof(Sys) !== 'undefined') Sys.Application.notifyScriptLoaded();
  1. 在工具箱中添加新的扩展控件
    将刚刚创建的控件添加到 Ajax Control Toolkit 的工具箱中。在 Visual Studio 中打开“工具箱”,右键单击要添加控件的目标选项卡,选择“添加项”菜单,然后选择“从文件…”选项。浏览到项目输出目录中的“AJAXControlToolKit.Extended.dll”文件,选择它并点击“确定”按钮。这样就可以在工具箱中看到新的扩展控件了。

  2. 在 ASP.NET 页面中使用新的扩展控件
    添加一些表示控件和新扩展控件的代码,并在控件上使用新的扩展器。下面是一个示例代码:

<%@ Register Assembly="AJAXControlToolKit.Extended" Namespace="AJAXControlToolKit.Extended" TagPrefix="MyExt" %>
<!DOCTYPE html>
<html>
<head>
    <title>Extened control usage example</title>
    <meta charset="UTF-8" />
    <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
    <script type="text/javascript" src="https://ajax.aspnetcdn.com/ajax/4.5.0/1/MicrosoftAjax.js"></script>
    <script type="text/javascript" src="https://ajax.aspnetcdn.com/ajax/4.5.0/1/MicrosoftAjaxWebForms.js"></script>
    <script type="text/javascript" src="/Scripts/AjaxControlToolkit/Common/Common.js"></script>
    <script type="text/javascript" src="/Scripts/AjaxControlToolkit/AjaxControlToolkit.js"></script>
</head>
<body>
    <form id="form1" runat="server">
        <div>
            <asp:ScriptManager ID="ScriptManager1" runat="server"></asp:ScriptManager>
            <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
            <MyExt:MyExtenderControl ID="MyExtenderControl1" runat="server" TargetControlID="TextBox1"></MyExt:MyExtenderControl>
        </div>
    </form>
</body>
</html>

以上就是如何创建一个 AJAX Control Toolkit 的扩展控件的详细攻略。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:如何创建一个AJAXControlToolKit的扩展控件 - Python技术站

(0)
上一篇 2023年6月15日
下一篇 2023年6月15日

相关文章

  • java异常处理throws完成异常抛出详解

    Java异常处理:throws完成异常抛出详解 在Java编程中,异常处理是一个非常重要的知识点。而在进行异常处理时,throws关键字的使用也是一种常见的方式。本文将为您详细讲解使用throws关键字完成异常抛出的过程以及注意事项。 1. 异常处理的三种方式 在Java中,异常处理可以通过三种方式来完成: try-catch块:用于捕捉并处理异常。 thr…

    Java 2023年5月27日
    00
  • Spring cloud alibaba之Ribbon负载均衡实现方案

    Spring Cloud Alibaba之Ribbon负载均衡实现方案 什么是负载均衡 在计算机网络中,负载均衡是指将任务或服务请求分摊给多个处理单元,例如计算机、网络、磁盘、存储设备,以达到最大的吞吐量,最小化响应时间,最大化可靠性,以及避免单点故障的目的。 为什么使用负载均衡 当一个系统需要处理大量的请求时,单个服务实例难以承受这样的压力。通过使用负载均…

    Java 2023年5月19日
    00
  • maven打包时候修改包名称带上git版本号和打包时间方式

    按照要求,我会为你提供一个完整的Maven项目中如何在打包时修改包名称带上git版本号和打包时间的攻略。 概述: Maven利用pom.xml文件管理项目信息和依赖,pom.xml文件中通过使用插件来执行相关的动作操作。在这里,我们需要用到maven-jar-plugin插件来进行Maven项目的打包操作。通过重写 ${project.build.final…

    Java 2023年5月19日
    00
  • JSP验证码简单生成方法

    当我们网站需要进行用户登录、注册等操作时,我们通常需要使用验证码来防止机器人或者是恶意攻击,本文就来详细讲解一下如何使用JSP生成验证码。 一、验证码的生成方法 验证码的生成方法可以大致划分为以下步骤: 生成随机字符串 将随机字符串绘制成图片 将图片输出到网页上并传输随机字符串的值到后台进行验证 二、实现步骤 1. 生成随机字符串 使用Java的Random…

    Java 2023年6月15日
    00
  • 详解 hibernate mapping配置

    让我详细地为您讲解一下“详解 Hibernate Mapping 配置”的完整攻略。 1. 环境准备 在开始配置 Hibernate Mapping 之前,需要先准备好以下环境: JDK:要求 JDK 环境为 1.8 或更高版本。 Hibernate:需要下载并配置 Hibernate,具体可以参考 Hibernate 配置。 数据库:需要使用 MySQL …

    Java 2023年5月20日
    00
  • Springboot中静态文件的两种引入方式总结

    下面是详细的“Springboot中静态文件的两种引入方式总结”的攻略: 1. 静态文件的常规引入方式 在Springboot项目中,我们可以将静态文件放置在项目的“resources/static”目录下,这些文件就可以被访问到。 在html文件中,我们可以用如下代码来引入静态文件: <link rel="stylesheet" …

    Java 2023年5月20日
    00
  • Java8如何将Array转换为Stream的实现代码

    要将数组转换为流,我们可以使用Java 8中新增的stream()方法。下面是Java 8中的两个示例,说明如何使用数组创建流: 1. 示例一: String[] arr = {"apple", "banana", "orange", "grape", "mango&q…

    Java 2023年5月26日
    00
  • spring+mybatis实现图书管理系统

    以下是“spring+mybatis实现图书管理系统”的完整攻略。 1. 环境准备 首先需要准备好开发环境,包括以下工具和框架: JDK(Java Development Kit): 用于编译和运行Java程序的开发工具包。 Eclipse(或其他Java开发工具):用于编写和调试Java代码的集成开发环境(IDE)。 Maven:Java项目的构建工具,用…

    Java 2023年6月15日
    00
合作推广
合作推广
分享本页
返回顶部