继上一篇的asp.net总结,因为上篇主要是对一些宏观的概念进行讲解,同窗反映太过简单。遂本文对控件html
部分加以详细总结,与你们分享。#%%--静候板砖web
如上图。虽然分支有点多,基本上仍是能够看的清的,大致上分为html控件、web控件、验证控件、用户控正则表达式
件、自定义控件。服务器
概念asp.net
通常运行在客户端进行运行,不会提交到服务器端。举个例子,点击某个按钮,更换皮肤,这只是函数
对这个机器的客户端发生来改变,而不会提交到服务器端的。工具
使用ui
使用vs或者Dw建立html页后,直接拖拽就能够了。拖拽后咱们看到源代码相似如此spa
<input id="Button1"type="button" value="button" />这是一个按钮控件,由input和type来肯定这个控件,其余均是这个控件的属性和方法等。.net
有本身的事件和方法,onclick、onfocus等。经过事件来触发函数,进而对页面进行必定的操做。
概念
什么是web控件?相似于html服务器端控件,在服务器端建立。为何说是相似于呢?在下面的使用
中咱们能够看到。
使用
在生成代码后一个web按钮控件的代码是这样的
<asp:ButtonID="Button1" runat="server" Text="Button" />
比较一下,html控件和web控件生成代码后的效果。咱们能够看到在web控件中控件会继承asp这样一
个类,固然还有一个很重要的属性runnat="server"。直接在<inputid="Button1" type="button" value="button" />添加
一个runat="server"属性后,就获得来html的服务器控件。这也就是为何说web控件相似于html服务
器端控件,这样的话才能够在服务器端运行。
html控件和web控件的区别(了解)
简单认识了html和web控件,来搞一下html控件和web控件有什么区别。
<inputid="Button1" type="button" value="button" />
<asp:ButtonID="Button1" runat="server" Text="Button" />
在web控件中统一的将全部控件都继承在asp类下面进行统一的管理,统一的命名空间更好的管理控件的属
性和方法。固然web控件和html控件有不少的区别,只了解下,知道怎么去用就能够了。详解
见:http://wenku.baidu.com/view/a10bf8ec4afe04a1b071de42.html
RequiredFieldValidator
从字面上理解就是必须字段的验证
使用
几乎全部的控件在使用上都是来设定一些值或者函数来实现验证,因此没有必要对每一个控件的使用
都一一详细的去作。只知道这个控件大致上是什么功能,参照某一个验证控件的用法,一一破解即
可。
ControlToValidate:表示要进行检查控件ID;
ErrorMessage:表示当检查不合法时,出现的错误信息;
Display:错误信息的显示方式;Static表示控件的错误信息在页面中占有确定位置;Dymatic表示控件
错误信息出现时才占用页面控件;None表示错误出现时不显示,可是能够在ValidatorSummary中显
示;
占位符:表示Display为Static时,错误信息占有"占位符"那么大的页面空间;
来自 <http://www.cnblogs.com/UouHt/archive/2008/12/08/1350639.html>
demon one
<asp:RequiredFieldValidatorID="RequiredFieldValidator1" runat="server" ControlToValidate="TextBox1" ErrorMessage="必须填写"></asp:RequiredFieldValidator> <asp:TextBox ID="TextBox1"runat="server"></asp:TextBox> <asp:Button ID="Button1"runat="server" Text="Button" />
以上是一个很简单的验证在文本框中须要写入值的验证,咱们能够看到经过设定
ControlToValidate、ErrorMessage就能够实现了。颇有意思,能够试试。
CompareValidator
按设定比较两个输入的值的大小。这里咱们能够想到既然要比较 ,就会有两个控件,两个控件就需
要绑定两个控件因此就有ControlToValidate="要验证的控件ID"、ControlToCompare="要比较的控件
ID";是要比较什么呢?是string仍是int因此确定有一个数据类型的指示type;怎么比较,operator,所
以这些东西都是很是人性化的。感受是理所固然的一件事情,下面的固然就无需一一去作了。在网
上有不少这样很是丰富的总结,我更感受这是笔记(我以前也有不少是这样的),嘿嘿,查起来很
方便。固然深刻的实践,还须要继续研究。
RangeValidator
验证输入是否在指定范围
RegularExpressionValidator
正则表达式验证控件
CustomValidator
自定义验证控件
ValidationSummary
总结验证结果
扩展名.ascx;与完整的web窗体类似,但不包含html body form等元素。
Demon two
直接在vs能够右键添加新建项->添加web用户控件(扩展名为ascx)
<%@Control Language="C#" AutoEventWireup="true"CodeBehind="ControlTest.ascx.cs"Inherits="UoserControlTest.ControlTest" %> <asp:LabelID="Label1" runat="server" style="z-index: 1; left: 122px; top: 68px; position: absolute"Text="用户名"></asp:Label> <asp:TextBoxID="txtUserName" runat="server" style="z-index: 1; top: 70px;position: absolute; left: 209px"></asp:TextBox> <p> <asp:TextBox ID="txtPwd"runat="server" style="z-index: 1; left: 210px;top: 132px; position: absolute"></asp:TextBox> </p> <asp:LabelID="Label2" runat="server" style="z-index: 1; left: 120px; top: 134px; position:absolute" Text="密码"></asp:Label>
如何引用直接拖到指定须要的地方就能够了
<%@ Register src="ControlTest.ascx"tagname="ControlTest" tagprefix="uc1" %>,谓之注册
其实用户控件和自定义控件在某种程度上都属于自定义的,简单理解都是用户根据本身的须要来定制
的。但是为何要分为两种呢?这是因为这两种控件的建立方式和使用的区别形成的。用户控件相对创
建起来较为简单,直接新建ascx文件,而后根据本身的需求定制就能够了。而后在相关的页面注册就能够
直接使用了,这个过程是动态编译的。至于什么是动态编译,我也搞不懂,简单理解一下就是在编译的
时候须要调用系统的一些dll文件,这样来实现编译,固然速度有点慢,相对的就是自定义控件的静态编
译了。用户控件在编译的时候直接将dll文件所需文件抽取出来连接到生成的可执行文件中,这样一来就
无需每次都加载dll,节省时间。这是自定义控件和用户控件在建立时候的区别;在使用的时候自定义控
件是能够相似于通常控件同样,添加在左侧的工具栏中;而用户控件须要每次在使用页注册,也就是连接一下。
在这篇文章里,自定义控件就总结到。后面再对对自定义控件的使用,实现一个例子,再来理解一下。
大致上,控件就总结到这里了。有html控件,以后+runat="server"就能联想到web控件(内部控件);由
内部控件再到自定义控件自定义控件里面有用户控件;最后还有一个验证控件。其实还有一类是数据控
件,可是那个能够放到ado.net里面来说。控件的使用,不少地方都是相似的。例如:验证控件,数据控
件,知道了一个,其余都差很少。只须要跟着视频巩固就行了。