asp.net控件开发--文本框(入门篇)
2007-11-12 10:45
363 查看
asp.net控件开发--文本框
最近在看那一本下载N久的《asp.net高级编程》,这才发现,原来好东西都被我埋没了!确实学到了好多东西,对以前不理解的东西有了一种顿 悟的感觉!早就想自己开发一个自己的控件让人家用了.可能水平太水了.终于发现这本书里面有讲到.临时做了一个现成的例子,总算成功! 其实就是一个文本框,添加一个ontextchane事件!废说不说了.来点实在的吧:(代码虽少,理解以后你就强了) 打开VS.NET 2005 新建一个组件类,重命名为:mytext,添加代码: Imports System Imports System.Web Imports System.Web.UI Imports System.Web.UI.WebControls Imports System.Collections.Specialized Namespace Mytextspace '这个将是后来的引用名 Public Class MyTextBoxVB '这个将是后台的控件名(在控件栏里面的名字) Inherits WebControl '继承webcontrol类,(这样才能扩展服务器控件呀) Implements IPostBackDataHandler '继承自动加载回发数据接口(这样才能安全的触发的事件呀) Public Sub New() MyBase.New("input") '构造函数,初始化类,带"input"参数 End Sub Public Event TextChanged As EventHandler '定义一个事件TextChanged Private _value As String Public ReadOnly Property text() As String '定义一个属性 Get Return _value End Get End Property '覆盖addAttiibuteToRender方法,输出在页面上显示的内容 Protected Overrides Sub addAttributesToRender(ByVal writer As HtmlTextWriter) MyBase.AddAttributesToRender(writer) writer.AddAttribute(HtmlTextWriterAttribute.Name, UniqueID) writer.AddAttribute(HtmlTextWriterAttribute.Type, "input") If Not (_value Is Nothing) Then writer.AddAttribute("value", _value) End If End Sub '继承接口方法LoadPostData1,设置返回值为:ture,这样RaisePostDataChangedEvent1才有有效. Public Function LoadPostData1(ByVal postDataKey As String, ByVal postCollection As System.Collections.Specialized.NameValueCollection) As Boolean Implements System.Web.UI.IPostBackDataHandler.LoadPostData _value = postCollection(postDataKey) Return True End Function '触发事件RaiseEvent Public Sub RaisePostDataChangedEvent1() Implements System.Web.UI.IPostBackDataHandler.RaisePostDataChangedEvent RaiseEvent TextChanged(Me, EventArgs.Empty) End Sub End Class End Namespace 最后还有一步很重要的步骤就是编译.这样别人才能使用的你开的控件(感觉真好),你可以在vs.net2005直接点生成,当然生成之前你也可设置一些版本信息,参数什么的.比较有个性化特征,以防盗版,你也可以使用命令,格式如下: vbc /out:bin/mytext.dll /t:library mytext.vb /r:system.dll /r:system.data.dll /r:system.xml.dll vbc:编译vb类的方法,C#用csc /out:输入文件名.我这里用ymtext.dll /t:t就是target的意思.也就是目标文件可以写绝对路径如:"f:/swda/app_code/mytext.vb" /r:添加引用程序集,常用的有:system.dll,system.data.dll,system.xml.dll你也可以使用绝对路径如::"f:/swda/bin/ajax.dll" 输出完成之后在程序里面添加引用.拖入控件栏就可以使用了呀!!开心吧!!哈哈 |
相关文章推荐
- Asp.Net控件开发(1)---入门介绍
- ASP.NET控件开发入门系列之PlanItem控件
- asp.net控件开发基础(转)
- asp.net控件开发(二)-简单属
- Asp.net 2.0 自定义控件开发专题讲解[为用户控件增加DataSource属性, 能够自动识别不同数据源](示例代码下载)
- SuperMap iObjects .NET开发ASP .NET网站入门
- atitit.提升开发效率---使用服务器控件生命周期 asp.net 11个阶段 java jsf 的6个阶段比较
- asp.net控件开发技巧(1)使用HtmlTextWriter类规范输出标签
- ★★★【庖丁解牛:纵向切入Asp.net 3.5控件和组件开发技术系列—(3)从零开始开发服务器控件】★★★
- Asp.net 2.0 自定义控件开发[创建自定义HeaderRow的GridView控件][示例代码下载]
- Asp.net 2.0 自定义控件开发[实现自动计算功能(AutoComputeControl)][示例代码下载续][重点推荐控件]
- Asp.net 2.0 自定义控件开发[创建自定义右键PopupMenu控件][示例代码下载]
- asp.net控件开发基础(17)
- asp.net控件开发技巧(2)关闭基类不必要的功能
- asp.net控件开发基础(2)
- asp.net控件开发基础(6)
- asp.net控件开发(一) -- 显示控件内容
- [ASP.NET开发系列]在用户控件中添加属性
- ASP.NET动态网站开发培训-12.FormView控件
- ASP.NET动态网站开发培训-13.SqlDataSource控件