`
lovnet
  • 浏览: 6704368 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
文章分类
社区版块
存档分类
最新评论

Asp.net 2.0 制作最原始的TextBox控件[一](示例代码下载)

阅读更多
(一). 概述
示例制作一个与Asp.net TextBox同样功能的 TextBox control, 可以了解一下
Control底层的实现原理
(二). 代码实现
1. 核心控件生成代码文件TextBox.cs
11usingSystem;
22usingSystem.Data;
33usingSystem.Configuration;
44usingSystem.Web;
55usingSystem.Web.Security;
66usingSystem.Web.UI;
77usingSystem.Web.UI.WebControls;
88usingSystem.Web.UI.WebControls.WebParts;
99usingSystem.Web.UI.HtmlControls;
1010
1111usingSystem.Text;
1212usingSystem.Collections.Specialized;
1313
1414namespaceKingControls
1515{
1616/**////<summary>
1717///MakingaTextBoxWebControl
1818///</summary>
1919publicclassTextBox:Control,IPostBackDataHandler//IPostBackDataHandler:处理回发数据使用
2020{
2121publicTextBox()
2222{
2323}
2424
2525/**////<summary>
2626///设置或获取显示文本
2727///</summary>
2828publicstringText
2929{
3030//Web编程中要用ViewState为两次回发共享数据
3131get
3232{
3333Strings=(String)ViewState["Text"];
3434return((s==null)?String.Empty:s);
3535}
3636
3737set
3838{
3939ViewState["Text"]=value;
4040}
4141}
4242
4343/**////<summary>
4444///生成呈现Html格式标记
4545///</summary>
4646///<paramname="writer"></param>
4747protectedoverridevoidRender(HtmlTextWriterwriter)
4848{
4949StringBuildersb=newStringBuilder();
5050sb.Append("<inputtype=\"text\"name=");
5151sb.Append("\""+UniqueID+"\"");//标识符,继承自基类Control
5252sb.Append("value=");
5353
5454//HttpUtility.HtmlEncode将用户输入字串转换成Html格式,主要转义用户输入的html关键字为非html关键字字符
5555sb.Append("\""+HttpUtility.HtmlEncode(Text)+"\"");
5656sb.Append("/>");
5757writer.Write(sb.ToString());
5858}
5959
6060/**////<summary>
6161///当回发时,装载用户输入的新数据
6262///</summary>
6363///<paramname="postDataKey"></param>
6464///<paramname="postCollection"></param>
6565///<returns>true表示数据改变,将会执行下面的方法RaisePostDataChangedEvent;否则数据未改变</returns>
6666publicvirtualboolLoadPostData(stringpostDataKey,NameValueCollectionpostCollection)
6767{
6868stringstrOldValue=Text;
6969stringstrNewValue=postCollection[this.UniqueID];
7070if(strOldValue==null||(strOldValue!=null&&!strOldValue.Equals(strNewValue)))
7171{
7272this.Text=strNewValue;
7373returntrue;
7474}
7575returnfalse;
7676}
7777
7878/**////<summary>
7979///仅当上面方法LoadPostData返回true时,此方法将会执行
8080///</summary>
8181publicvirtualvoidRaisePostDataChangedEvent()
8282{
8383OnTextChanged(EventArgs.Empty);
8484}
8585
8686publiceventEventHandlerTextChanged;
8787protectedvirtualvoidOnTextChanged(EventArgse)
8888{
8989if(TextChanged!=null)
9090{
9191TextChanged(this,e);
9292}
9393}
9494}
9595}
9696
2. 前台页面文件UsingTextBoxControl.aspx代码(使用方法)
1<%@PageLanguage="C#"AutoEventWireup="true"CodeFile="UsingTextBoxControl.aspx.cs"Inherits="_Default"ValidateRequest="false"%>
2<%@RegisterAssembly="KingControls"Namespace="KingControls"TagPrefix="KSP"%>
3……
4<KSP:TextBoxID="KingTextBox"runat="server"OnTextChanged="KingTextBox_TextChanged"Text=""></KSP:TextBox>
5……
6

(). 示例代码下载

http://www.cnblogs.com/Files/ChengKing/KingControls.rar

分享到:
评论

相关推荐

    ASP.NET 2.0快速入门 下载列表 微软

    Asp.net2.0 提供了一种可以让网站在多种语言版本之间切换的方法。通过本课的学习,听众可以了解到如何使自己的网站资源自由变幻,并快速国际化。 • 开始时间: 2005-12-5 14:30:00 • 技术等级: Level 200 • 系列: ...

    ASP.NET 2.0技术详解与应用实例 源码

    本书详细地介绍了ASE.NET 2.0新技术在Web开发方面的具体实现。通过自定义Provider模型说明...其中,“14”文件夹中提供了Access版本的Provider示例模型,beerhouse文件夹中是一个多项目解决方案示例代码,供大家参考。

    《完全手册:ASP.NET.2.0网络开发详解》[源代码]

    本书是一本ASP.NET 2.0技术入门图书,体系完整,内容自足,以示例贯穿全篇。全书包括从入门基础、控件开发、数据和文件操作、网站整体设计及课程实践五部分,全面介绍ASP.NET的开发基础,共23章。其中,【第1篇 从零...

    ASP.NET 2.0开发技术大全光盘

    简介:本书是一本ASP.NET 2.0综合开发参考手册,书中几乎囊括了ASP.NET 开发Web应用程序的全部知识,同时在讲解中结合了大量实用而又有代表性的示例和典型应用。全书共分37章,包括认识ASP.NET 2.0、ASP.NET 2.0 ...

    Asp.net 2.0 自定义控件开发[开发一个图表(WebChart)控件(柱状图示例)](示例代码下载)收藏

    Asp.net 2.0 自定义控件开发[开发一个图表(WebChart)控件(柱状图示例)](示例代码下载)收藏

    零基础学ASP.NET 2.0电子书&源代码绝对完整版1

    示例描述:本章演示ASP.NET 2.0网站的预编译以及学习ASP.NET 2.0的前置知识。 WebSite文件夹 创建的ASP.NET 2.0 Web站点。 www文件夹 第一个用C#开发的Web应用程序。 bianyi.bat 编译网站的批处理文件。 ...

    ASP.NET2.0典型模块(17-22)ASP.NET2.0典型模块(1-16)

    HandlerSample 图片的处理程序以及防止盗链的方法 FileHandlerSample 文件下载示例 &lt;br&gt;第13章(\C13) 示例描述:本章示例展现了在ASP.NET2.0中实现在线服务的功能。 OnlineService 复杂的...

    ASP.NET 2.0 Unleashed

    &lt;br&gt; &lt;br&gt;本书是讲解微软公司ASP.NET 2.0 Framework最全面的图书,包含了用VB.NET和C#两种语言写成的上百段程序代码,覆盖了ASP.NET 2.0 Framework的方方面面。卷1主要内容包括创建ASP.NET页面、设计ASP.NET...

    ADO.NET 2.0技术内幕(高清 中文 带书签 全)

    作者针对如何利用Visual Studio 2005中的新工具和向导,编写、测试并调试数据库应用程序代码,用丰富的示例代码、教程式的风格及特色段落介绍了最佳实践。本书描述了ADO.NET对象模型及其用于Web扩展的XML特性,还...

    ASP.NET2.0典型模块(1-16)

    HandlerSample 图片的处理程序以及防止盗链的方法 FileHandlerSample 文件下载示例 &lt;br&gt;第13章(\C13) 示例描述:本章示例展现了在ASP.NET2.0中实现在线服务的功能。 OnlineService 复杂的...

    3.ASP.NET 2.0 入门经典(第4版) [压缩包1/10]

    ● 揭示了Visual Web Developer是构建功能丰富的ASP.NET2.0应用程序的理想环境 ● 保障Web站点的安全,提供登录功能和基于角色访问站点的内容 ● 利用ASP.NET 2.0的内置数据处理功能安全地更新数据的技巧 ● ...

    ASP&C#教程\精通Asp.net2.0+Sql2005项目开发

    1.本书2~10章所附代码的运行环境 操作系统:Windows 2000、Windows XP Professional、Windows 2003 开发环境:Microsoft Visual Studio 2005 数据库:SQL Server 2005 Web服务器:IIS5.1 及以上版本 2.本书所...

    ASP.NET 2.0快速入门(3):ASP.NET 2.0的新控件

    内包含文档,视频,ppt,示例(原代码)非常不错!!!!!!!!!!!!!!!!!

    零基础学ASP.NET 2.0&源代码绝对完整版1

    示例描述:本章演示ASP.NET 2.0网站的预编译以及学习ASP.NET 2.0的前置知识。 WebSite文件夹 创建的ASP.NET 2.0 Web站点。 www文件夹 第一个用C#开发的Web应用程序。 bianyi.bat 编译网站的批处理文件。 form...

    asp.net开发示例代码大全

    学习积累的代码段:共计75个,Asp.Net中使用水晶报表、ASP.NET 2.0高级控件之FileUpload控件

    PageOffice for ASP.NET 2.0 专业版

    作为ASP.NET项目的开发者,在应对用户的Word、Excel文档时,您是否迫切希望Visual Studio工具箱里能有现成的Word、Excel标准ASP.NET控件可用就太好了?现在梦想已经成真,想在网页上显示编辑Word、Excel文档并且调用...

    ASP.NET2.0和数据绑定控件:新的角度,新的做法

    本页内容为什么需要新的数据源模型ASP.NET2.0中的数据绑定控件分析要点数据绑定机制列表控件HeadlineList示例控件管理自定义集合关于复合控件的一点讨论小结为什么需要新的数据源模型数据绑定是开发人员在ASP.NET1.x...

    基于接口的工厂模式的三层架构Asp.net2.0

    &lt;br&gt;该项目是一个基于接口的工厂模式的三层架构示例解决方案的 Asp.Net 2.0版本。 &lt;br&gt;****************************************************** &lt;br&gt;Database : 该项目所使用的数据库 DEncryptTest ...

Global site tag (gtag.js) - Google Analytics