Asp.net自定义控件开发任我行(1)-笑傲江湖

news/2024/10/28 23:22:20/
  • 1.引言

  参加工作5个月了,来到一家小公司,有几只老鸟带我,但不是我公司的,几个礼拜才来一次。来到公司做的第一个项目是web项目,里面有很多的重复代码,页面代码都是千篇一律,你这人也太水了吧,垃圾代码这么多,被人鄙视了,人嘛,总是要别人刺痛一两次才会往前走,谈恋爱也一样,伤过了,才醒了。

  我的最终目的是完成DropDownCheckList这个控件,DropDwonList只能单选,而此控件可以多选的效果,这个效果相信网上的例子一定很多,虽然自己写代码的时代已经过去了,但我还是愿意多写点代码,多学点东西。此文章,记录了我一步步走过来的点点滴滴。

  • 2.分析

    1.新建类库,命名为XYB.Controls,XYB 为我的真实的姓名的缩写,在此类库中添加一个类命名为TextEdit,再新建一个Web应用程序,命名为XYB.UI,在XYB.UI 中添加一个页面,命名为TextEditUI.aspx

  

  2.导入命名空间  

using System;
using System.Collections.Generic;
using System.Text;
using System.Web;
using System.Web.UI;
using System.ComponentModel;//包含组件开发所必须含有的(属性)Attribute;
using System.Web.UI.WebControls; using System.Web.UI.HtmlControls;

  3.继承

  既然是控件开发,又是Web控件,当然要继承WebControl类,此类的命名空间是System.Web.UI.WebControls,WebControl继承了Control。

  我们这里直接TextBox控件,TextBox继承了WebControl,拥有了TextBox所有的特性

using System;
using System.Text;
using System.Web.UI;
using System.ComponentModel;//包含组件开发所必须含有的(属性)Attribute;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
using System.Collections.Generic;
namespace XYB.Controls
{public class TextEdit:TextBox{}
}

重新生成一下,在工具栏中就会有一个TextEdit的控件,如果没有,按照我以下的步骤,将控件加进来
1.在工具栏下面找个空白的地方点击右键-->添加选项卡,命名为XYB.Controls组件,名字随便取,再在刚新建好的XYB.Controls组件选项组中找个空白的位置点击右键-->选择项-->浏览,找到XYB.Controls.dll类库,将其添加进来,于是在工具栏中就多了一个TextEdit控件了

 

3.至此,最简单的自定义控件就完成了,将其拖到页面中去,在浏览器中浏览,其实此控件只是TextBox的一个替身

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="TextEditUI.aspx.cs" Inherits="XYB.UI.TextEditUI" %><%@ Register Assembly="XYB.Controls" Namespace="XYB.Controls" TagPrefix="cc1" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server"><title></title>
</head>
<body><form id="form1" runat="server"><cc1:TextEdit ID="TextEdit1" runat="server"></cc1:TextEdit></form>
</body>
</html>

  •  下集预知:

  自定义TagPrefix 标签,敬请大家关注我!

 

 

 

转载于:https://www.cnblogs.com/xuyubing/p/3324109.html


http://www.ppmy.cn/news/551160.html

相关文章

天下英雄出我辈 一入江湖岁月催 《江湖行》

《江湖行》 – 出自笑傲江湖&#xff08;有网友称是李白的&#xff0c;不能确定&#xff09;最终鉴定不是李白写的 天下风云出我辈&#xff0c;    一入江湖岁月催。  皇图霸业谈笑中&#xff0c;  不胜人生一场醉。  提剑跨骑挥鬼雨&#xff0c;  白骨如山鸟惊飞。  尘…

python笑傲江湖统计字数_基於Python的tf-idf算法实现:以《笑傲江湖》为例

连结Jasonnor/tf-idf-python​github.com 简介 tf-idf(term frequency&#xff0d;inverse document frequency)是一种用於信息检索与文字探勘的常用加权技术&#xff0c;为一种统计方法&#xff0c;评估字词对於「文件集合」或「语料库中的一份文件」的重要程度。详细方法和公…

笑傲江湖时间线

1412年&#xff0c;林远图出生&#xff1b; 1422年&#xff0c;风清扬出生&#xff1b; 1440年&#xff0c;华山派精英岳肃、蔡子峰访问泉州少林寺游学&#xff0c;偷看了武学秘籍&#xff1b; 1442年&#xff0c;红叶禅师把《葵花宝典》烧毁&#xff0c;指派弟子渡元上华山…

力扣动态规划专题(五)子序列问题 不连续子序列与连续子序列 步骤及C++实现

文章目录 300.最长递增子序列674.最长连续递增子序列动态规划贪心算法 718. 最长重复子数组二维dp数组一维dp数组 1143.最长公共子序列1035.不相交的线53. 最大子序和动态规划贪心算法 300.最长递增子序列 步骤 确定dp数组以及下标的含义 dp[i]&#xff1a;i之前&#xff08;包…

烟雨江湖小米鸿蒙,烟雨江湖小米时装怎么拿? 小米衣服获取方法详解[多图]

烟雨江湖小米衣服是小米渠道服的专属奖励哦&#xff0c;虽然外表看起来朴朴素素的&#xff0c;但是免费奖励谁都喜欢拿&#xff0c;下面手游汇大大就带来详细内容&#xff0c;快来看看吧~ 烟雨江湖小米衣服获取方法 烟雨江湖小米衣服怎么得&#xff1f; 小米上线邮箱领。 小米专…

OSPF三部曲(之)江湖任我行-OSPF的多域配置

一、为什么要划分OSPF多区域&#xff0c;生成OSPF多区域的原因&#xff1f; 1、改善网络的可扩展性。 2、快速收敛。 3、取得上述两个目标的关键是把网络分成更小的区。 二、OSPF路由器的有哪几种类型&#xff1f; 1、骨干路由器&#xff1a;area0区域中的内部路由器。 2、内部…

Linux 远程控制服务(SSH和Telnet)

一、SSH服务 服务器&#xff08;IP&#xff1a;192.168.10.91&#xff09; 配置sshd服务 两种验证方式&#xff1a; 1.基于口令的验证—用账户和密码来验证登录 2.基于密钥的验证—需要在本地生成密钥对&#xff0c;然后把密钥对中的公钥上传至服务器&#xff0c;并与服务器中…

家庭宽带服务器有什么作用,服务器用的宽带和家用宽带有什么区别?

原标题&#xff1a;服务器用的宽带和家用宽带有什么区别&#xff1f; 最近&#xff0c;有用户咨询“服务器用的宽带和家用宽带有什么区别&#xff1f;”北京宽带通就在网上搜集了相关资料&#xff0c;来回答这个问题&#xff0c;有不全面的欢迎各位粉丝留言补充。 一般服务器带…