下面就以,.net自动生成的模版做一解释。(以vb语言为例)<!----><o:p></o:p>
1.Imports System.ComponentModel<o:p></o:p>
2.Imports System.Web.UI<o:p></o:p>
3.<DefaultProperty("Text"), ToolboxData("<{0}:WebCustomControl1 runat=server></{0}:WebCustomControl1>")> Public Class WebCustomControl1<o:p></o:p>
4. Inherits System.Web.UI.WebControls.WebControl<o:p></o:p>
5. Dim _text As String<o:p></o:p>
6. <Bindable(True), Category("str"), DefaultValue("11111")> Property [Text]() As String<o:p></o:p>
7. Get<o:p></o:p>
8. Return _text<o:p></o:p>
9. End Get<o:p></o:p>
10. Set(ByVal Value As String)<o:p></o:p>
11. _text = Value<o:p></o:p>
12. End Set<o:p></o:p>
13. End Property<o:p></o:p>
14. Protected Overrides Sub Render(ByVal output As System.Web.UI.HtmlTextWriter)<o:p></o:p>
15. output.Write([Text])<o:p></o:p>
16. End Sub<o:p></o:p>
17.End Class<o:p></o:p>
'---------------------------------------------------------------<o:p></o:p>
'1-2 导入命名空间,System.ComponentModel和 System.Web.UI 这没什么好介绍的<o:p></o:p>
'3 DefaultProperty("Text")--指定属性的默认值。如果用此属性需要导入(命名空间: System.ComponentModel)<o:p></o:p>
ToolboxData("<{0}:WebCustomControl1 runat=server></{0}:WebCustomControl1>")<o:p></o:p>
指定当从 Visual Studio 等工具中的工具箱拖动自定义控件时为它生成的默认标记。<o:p></o:p>
在下面的示例中,设置特定于 MyLabel 的若干属性。{0} 的所有匹配项都由设计器替换为与 MyLabel 类关联的标记前缀。<o:p></o:p>
<ToolboxData("<{0}:MyLabel Text='MyLabel' BorderColor='Yellow' BackColor='Magenta' BorderWidth = '10' runat='server'></{0}:MyLabel>")><o:p></o:p>
Public Class WebCustomControl1定义类名为webcustomcontrol1,以后编译生成的dll名为webcustomtrol1<o:p></o:p>
(注意:如果你修改类名。则需要修改{0}:后相对应的名字。例如:你把类名webcustomcontrol1改为webcustom。<o:p></o:p>
则需要把ToolboxData("<{0}:WebCustomControl1 runat=server></{0}:WebCustomControl1>")改成<o:p></o:p>
ToolboxData("<{0}:webcustom runat=server></{0}:webcustom>") 否则编译后将出错。)<o:p></o:p>
'4 Inherits 表示继承。这里是继承System.Web.UI.WebControls.WebControl的方法,属性,事件等。<o:p></o:p>
'6 这句主要是控制自定义控件在’属性浏览器‘中的显示,先解释模版的句子,再扩展开讲<o:p></o:p>
Property [Text]() As String定义 text属性 为字符串类型<o:p></o:p>
Bindable(True)指定是否要绑定到该属性。-True为是,False为不<o:p></o:p>
Category("Appearance") --text属性将显示在外观组中。指定类别的名称,在该类别中将对属性或事件进行分组。当使用了类别时,组件属性和事件可以按逻辑分组显示在属性浏览器中。<o:p></o:p>
DefaultValue("")为属性设置一个简单的默认值。这里为空<o:p></o:p>
下面列出所有的特性<o:p></o:p>
详细资料可查看ms-help://MS.VSCC/MS.MSDNVS.2052/cpguide/html/cpcondesign-timeattributesforcomponents.htm<o:p></o:p>
<o:p></o:p>
<o:p></o:p>
属性<o:p></o:p> |
应用于<o:p></o:p> |
说明<o:p></o:p> |
BrowsableAttribute<o:p></o:p> |
属性和事件<o:p></o:p> |
指定属性或事件是否应该显示在属性浏览器中。<o:p></o:p> |
CategoryAttribute<o:p></o:p> |
属性和事件<o:p></o:p> |
指定类别的名称,在该类别中将对属性或事件进行分组。当使用了类别时,组件属性和事件可以按逻辑分组显示在属性浏览器中。<o:p></o:p> |
DescriptionAttribute<o:p></o:p> |
属性和事件<o:p></o:p> |
定义一小块文本,该文本将在用户选择属性或事件时显示在属性浏览器底部。<o:p></o:p> |
BindableAttribute<o:p></o:p> |
属性<o:p></o:p> |
指定是否要绑定到该属性。<o:p></o:p> |
DefaultPropertyAttribute<o:p></o:p> |
属性
(将此特性插入类声明前。) |
指定组件的默认属性。当用户单击控件时,将在属性浏览器中选定该属性。<o:p></o:p> |
DefaultValueAttribute<o:p></o:p> |
属性<o:p></o:p> |
为属性设置一个简单的默认值。<o:p></o:p> |
EditorAttribute <o:p></o:p> |
属性<o:p></o:p> |
指定在可视设计器中编辑(更改)属性时要使用的编辑器。<o:p></o:p> |
LocalizableAttribute<o:p></o:p> |
属性<o:p></o:p> |
指定属性应本地化。当用户要本地化某个窗体时,任何具有该特性的属性都将自动永久驻留到资源文件中。<o:p></o:p> |
DesignerSerializationVisibilityAttribute <o:p></o:p> |
属性<o:p></o:p> |
指定显示在属性浏览器中的属性是否应该(以及如何)永久驻留在代码中。<o:p></o:p> |
TypeConverterAttribute <o:p></o:p> |
属性<o:p></o:p> |
指定将属性的类型转换为另一个数据类型时要使用的类型转换器。<o:p></o:p> |
DefaultEventAttribute<o:p></o:p> |
事件
(将此特性插入类声明前。) |
指定组件的默认事件。这是当用户单击组件时在属性浏览器中选定的事件。<o:p></o:p> |
<o:p></o:p>
.net中还支持自定义特性,这里就不说,有兴趣的可以去查msdn,上面有详细说明 <o:p></o:p>
可参考ms-help://MS.VSCC/MS.MSDNVS.2052/cpguide/html/cpconwritingcustomattributes.htm<o:p></o:p>
7-12很简单,意思就是返回(Get)Text属性的值和设置(Set)Text属性的值<o:p></o:p>
13 Text属性的结束<o:p></o:p>
14-16 这个过程作用是重写控件的呈现。这里是在页面上显示Text属性的值<o:p></o:p>
<o:p></o:p>
在asp.net中当你想对button的click事件做确认操作,但Button按钮不能满足此要求。就针对此要求来编写自己的控件。
======================================================================
继承:System.Web.UI.WebControls.Button
控件功能:弹出确认消息框
控件属性:message(消息框中显示的信息)
控件方法:不需要
控件事件:不需要
使用方法:“确定”执行按钮的button_click事件,“取消”不执行任何事件。
Imports System.ComponentModel<o:p></o:p>
Imports System.Web.UI<o:p></o:p>
<o:p></o:p>
Namespace WebControls<o:p></o:p>
<o:p></o:p>
<DefaultProperty("Text"), ToolboxData("<{0}:ConfirmButton runat=server></{0}:ConfirmButton>")> Public Class ConfirmButton<o:p></o:p>
'继承button<o:p></o:p>
Inherits System.Web.UI.WebControls.Button<o:p></o:p>
'为其所包含的任何服务器控件提供唯一的命名空间<o:p></o:p>
Implements INamingContainer<o:p></o:p>
Dim _Message As String<o:p></o:p>
'定义message属性。<o:p></o:p>
<Bindable(True), Category("Appearance"), DefaultValue("")> Property [Message]() As String<o:p></o:p>
Get<o:p></o:p>
Return _Message<o:p></o:p>
End Get<o:p></o:p>
Set(ByVal Value As String)<o:p></o:p>
_Message = Value<o:p></o:p>
End Set<o:p></o:p>
End Property<o:p></o:p>
<o:p></o:p>
Public Sub New()<o:p></o:p>
_Message = ""<o:p></o:p>
End Sub<o:p></o:p>
'重写控件的输出<o:p></o:p>
Protected Overrides Sub Render(ByVal output As System.Web.UI.HtmlTextWriter)<o:p></o:p>
'为控件增加客户端onclick事件。<o:p></o:p>
If Me.Message.Trim <> "" Then Me.Attributes.Add("onClick", "jscript:if(!confirm('" & Me.Message & "')) return false;")<o:p></o:p>
Me.Attributes.Add("onFocus", "jscript:this.blur();")<o:p></o:p>
MyBase.Render(output)<o:p></o:p>
End Sub<o:p></o:p>
End Class<o:p></o:p>
End Namespace<o:p></o:p>
分享到:
相关推荐
用户控件是ASP.NET中的基本自定义UI元素,它是通过将多个标准ASP.NET控件组合在一起,形成一个复合控件来实现的。用户控件可以看作是网页的微型版,具有自己的HTML、服务器控件和脚本。创建用户控件的主要步骤包括:...
总的来说,自定义ASP.NET翻页控件是提升网页数据展示效率的有效手段,它可以按照特定的需求进行定制,以满足各种复杂的分页场景。通过深入理解ASP.NET控件的原理和机制,开发者可以创建出更加高效、易用的自定义控件...
ASP.NET控件是微软.NET Framework框架中用于构建Web应用程序的核心元素。这些控件提供了一种简单的方法来构建交互式、动态的网页。本笔记将深入探讨ASP.NET控件的各个方面,帮助开发者更好地理解和使用这些工具。 ...
二、ASP.NET控件自定义 在ASP.NET中,我们可以通过继承现有的WebControl或CompositeControl基类来自定义控件。自定义下拉多选控件可能包含以下几个关键部分: 1. 用户界面:通过HTML和CSS构建下拉框的外观,同时...
总的来说,创建ASP.NET自定义抽屉控件需要深入理解ASP.NET控件生命周期、HTML渲染机制、客户端脚本交互以及CSS样式设计。掌握这些技能不仅可以帮助你构建更丰富的用户界面,还能提高开发效率和代码的可维护性。
这些资料涵盖了从基础知识到高级技巧,帮助开发者深入理解ASP.NET控件的工作原理以及如何自定义它们。以下是对这些资源的详细解读: 1. **ASP.NET控件开发基础**: 这一系列文章(如asp_net控件开发基础(1) - ...
本实例代码集合提供了一种快速学习和实践控件开发的方法,对于想要深入理解ASP.NET控件工作原理和定制自定义控件的开发者来说极具价值。 在ASP.NET中,控件大致分为两种类型:服务器控件和HTML控件。服务器控件具有...
ASP.NET自定义控件是.NET框架中用于构建可重用、可扩展的用户界面组件的重要技术。本实例教程旨在引导开发者深入理解并掌握这一技术,通过一系列由浅入深的例子,帮助你创建从简单到复杂的数据绑定控件。 首先,...
ASP.NET控件重绘是一种技术,允许开发者自定义.NET控件的外观,使其与网站的样式和主题保持一致。在标题“asp.net 控件重绘 加载自己的css”中,核心概念是通过加载自定义的CSS(层叠样式表)文件来改变ASP.NET控件...
ASP.NET控件是构建Web应用程序的核心元素,它们提供了一种直观的方式来交互和处理用户输入。在ASP.NET中,控件可以分为服务器控件、HTML控件和Web自定义控件等类型。本练习主要涵盖了ASP.NET中的多种控件及其应用,...
通过分析提供的源码,我们可以学习到如何根据具体需求,利用ASP.NET框架创建具有特定功能的自定义控件,这对于提升开发者的技术水平和创新能力至关重要。 总结起来,这个压缩包提供了一个学习和实践ASP.NET自定义...
这些控件可以扩展内置的ASP.NET控件功能,或者完全创新地构建全新的UI组件。"asp.net 自定义控件 上图文件控件"指的是一个特别的自定义控件,它用于处理文件上传操作,同时还具有进度显示和时间跟踪的功能,这为用户...
ASP.NET控件开发是Web应用程序开发中的核心组成部分,它允许开发者构建交互性强、功能丰富的用户界面。本教程针对初学者,旨在提供一个全面的ASP.NET控件开发基础,帮助你快速掌握这一技术。 1. **ASP.NET控件基础*...
本篇文章将深入探讨Asp.NET控件大全,旨在为开发者提供一个全面的理解和参考。 1. **服务器控件**: Asp.NET的核心在于服务器控件,它们在服务器端处理事件并生成HTML发送到客户端。常见的服务器控件包括: - **...
随着技术的发展,Asp.Net控件库也在不断更新和完善,不仅包含了传统的WebForms控件,还扩展到了MVC框架。 在Asp.Net WebForms中,开发者可以使用诸如Button、TextBox、Label、DropDownList、GridView等常见控件。...
ASP.NET控件是微软开发的Web应用程序框架ASP.NET的重要组成部分,用于构建动态、交互式的网页。这些控件提供了一种直观的方式来创建用户界面,并且在服务器端处理用户的输入和交互。"ASP.NET控件大全"可能包含了一...
本教程将深入探讨ASP.NET控件开发的一些实例,特别关注那些相对简单但实用的自定义控件。 一、ASP.NET控件基础 在ASP.NET中,控件分为服务器控件和HTML控件两类。服务器控件如Label、Button、TextBox等,具有丰富的...
ASP.NET控件与组件开发是Web开发领域中的一个重要主题,主要涉及如何在ASP.NET框架下创建和使用自定义的服务器控件以及组件。这门教程深入浅出地讲解了这一技术,适合对ASP.NET有一定基础的开发者进行进一步的学习和...
ASP.NET GridView 是一个非常...为了更好地利用这个源码,你需要理解ASP.NET控件生命周期,了解数据绑定机制,以及如何在代码-behind中操作控件。同时,熟悉CSS和HTML也是必要的,因为美化部分很可能是通过CSS完成的。
在ASP.NET控件中,这类图表通常提供多种样式和颜色选项,可以自定义轴标签、图例和数据标签,以满足各种需求。使用这种图表,用户可以清楚地看到各分类的相对值,便于分析和决策。 折线图则是另一种常用的可视化...