ASP.NET自定义控件组件开发 第一章 待续

 第一章:从一个简单的控件谈起

  起始开发ASP.NET自定义控件不是那么的高深,当初我开始学的时候还有点恐惧,但是慢慢就好了。学习控件的开发技术,并不一定说以后要从事控件的开发,而是让我们深入的理解掌握ASP.NET内部的机理。你会发觉,当 学习完控件开发技术后,你以后开发网站时有种得心应手的感觉。我不希望一上来就讲控件开始多么多么难啊,我会用一个演化的方法来讲述控件开发,一步一步帮助大家理解,如果大家要求的话,我会考虑录制视频讲解。当然,也很希望去webcast上讲讲这个系列。

  代码也会附带的放上,希望大家支持!!!

  现在开始:首先看一个简单的页面:

  下面是个html的页面,显示的是一些html控件的页面。

ASP.NET自定义控件组件开发 第一章 待续

  当我们查看页面后面的html代码时,就发现很复杂

ASP.NET自定义控件组件开发 第一章 待续

  上面显示的是一个输入用户信息的提交控件,如果这个控件很常用,那么我们每次都要这样拖放,那是很累的,为了便于代码重用,就吧它实现为一个控件。

  一般来说,自定义控件的都是继承于某一个基类的,不仅如此,我们所用的所有的控件都是继承于一个基类Control类。我们开发控件可以继承任何的服务器控件,如Button ,TextBox等等。但是我们一般都继承于三个基类Control,WebControl,CompositeControl,因为这些类给了我们更加灵活的操作。

  本章从浅入深,主要讲解继承Control类。

 

开发继承于Control类的控件很简单,只要重写Render方法就可以了:

ASP.NET自定义控件组件开发 第一章 待续

  其实我们做的事情很简单:只是把之前的html的代码做为字符串传入了write.Write()方法中而已。

  当把所有的这些html代码写完之后,恭喜你,一个自定义的服务器控件就成功了!让后你就可以把它放   放入工具箱中,像其他的控件,如Button,TextBox,等一样的使用了。

      下面来一步步的介绍得到一个控件:

  1.   写完之前的代码后,然后生成:

ASP.NET自定义控件组件开发 第一章 待续

  这样,一个控件就生成了。

  2.   我们新建一个测试的网站的

ASP.NET自定义控件组件开发 第一章 待续

  3.   在工具箱中点击右键-“选择项“,弹出如下:

ASP.NET自定义控件组件开发 第一章 待续    

  4.   点击“浏览“,然后找到我们存放项目的地方

ASP.NET自定义控件组件开发 第一章 待续

  5.   然后就进入”CreditCardForm”—“obj—“Debug”

 

你会看到一个.dll

ASP.NET自定义控件组件开发 第一章 待续

  6.   然后选中那个.dll就可以,然后添加

  7.   然后就可以在工具箱中找到你的控件

ASP.NET自定义控件组件开发 第一章 待续

  然后拖过来就可以使用了

  好了,经过上面的步骤,你就已经开发了一个控件,很简单吧!以后你只要添加了这个控件的.dll,你就可以在任何程序和项目中使用他,但是这个控件只是个演示,离实用来有距离,不用怕,慢慢来。

  今天先写到这里。

  大家给点建议吧!

  项目的完整代码已经写完了但是不知道怎样放上来 要代码的就说下

using

 

System;

using

 

System.Collections.Generic;

using

 

System.Text;

using

 

System.Web;

using

 

System.Web.UI;

using

 

System.Web.UI.WebControls;

namespace

 

CreditCardForm

{

 

public class CreditCardForm1 : Control

{

 

protected override void Render(HtmlTextWriter writer)

{

writer.Write(

"<tablestyle='width:287px;height:128px;border-width:0'>");

writer.Write(

"<tr>");

writer.Write(

"<td>支付方式</td>");

writer.Write(

"<td>");

writer.Write(

"<selectname='paymentMethod'id='paymentMethod'style='width:100%'>");

writer.Write(

"<optionvalue=http://tech.ddvip.com/2009-01/'0'>Master</option>");

writer.Write(

"<optionvalue=http://tech.ddvip.com/2009-01/'1'>Visa</option>");

writer.Write(

"</select>");

writer.Write(

"</td>");

writer.Write(

"</tr>");

writer.Write(

"<tr>");

writer.Write(

"<td>信用卡号</td>");

writer.Write(

"<td><inputtype='text'name='CreditCardNo'id='CreditCardNo'/></td>");

writer.Write(

"</tr>");

writer.Write(

"<tr>");

writer.Write(

"<td>持卡人</td>");

writer.Write(

"<td><inputtype='text'name='CardholderName'id='CardholderName'/></td>");

writer.Write(

"</tr>");

writer.Write(

"<tr>");

writer.Write(

"<td>过期时间</td>");

writer.Write(

"<td>");

writer.Write(

"<selectname='Month'id='Month'>");

 

for (int month = 1; month < 13; month++)

{

writer.Write(

"<optionvalue=http://tech.ddvip.com/2009-01/" + month.ToString() + ">" + month.ToString() + "</option>");

}

writer.Write(

"</select>");

writer.Write(

"&nbsp");

writer.Write(

"<selectname='Year'id='Year'>");

 

for (int year = 2008; year < 2014; year++)

{

writer.Write(

"<optionvalue=http://tech.ddvip.com/2009-01/" + year.ToString() + ">" + year.ToString() + "</option>");

}

writer.Write(

"</select>");

writer.Write(

"</td></tr>");

writer.Write(

"<tr>");

writer.Write(

"<tdalign='center'colspan='2'>");

writer.Write(

"<inputtype='submit'value=http://tech.ddvip.com/2009-01/'提交'/>");

writer.Write(

"</td></tr>");

}

}

}

 


 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值