Asp.net自定义控件开发任我行-笑傲江湖(1)_.NET_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > .NET > Asp.net自定义控件开发任我行-笑傲江湖(1)

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

 2013/9/16 14:46:26  蓝色天空__任我行  博客园  我要评论(0)
  • 摘要:1.引言参加工作5个月了,来到一家小公司,.net开发就我一个人,有几只老鸟带我,但不是我公司的,几个礼拜才来一次。来到公司做的第一个项目是web项目,里面有很多的重复代码,后来公司也来了一个实习生,说是来接手我的那个项目,而派我去做winform开发,那人一来,看到页面代码都是千篇一律,你这人也太水了吧,垃圾代码这么多,被人鄙视了,人嘛,总是要别人刺痛一两次才会往前走,谈恋爱也一样,伤过了,才醒了。我的最终目的是完成DropDownCheckList这个控件,DropDwonList只参单选
  • 标签:.net ASP.NET net 开发 控件 自定义控件 自定义
  • 1.引言

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

  我的最终目的是完成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>

 

 

 

 

发表评论
用户名: 匿名