博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
.Net之路(十)控件篇
阅读量:5352 次
发布时间:2019-06-15

本文共 2988 字,大约阅读时间需要 9 分钟。

 

    继上一篇的asp.net总结,由于上篇主要是对一些宏观的概念进行讲解,同学反映太过简单。遂本文对控件

部分加以详细总结,与大家分享。#%%--静候板砖

 

计算机生成了可选文字:)一一―自htm.州一’一”一’、、1'Unat二SerVer犷…、··-一。夕夕护Asp.llet拎件工亘)。庵护

 

如上图。虽然分支有点多,基本上还是可以看的清的,大体上分为html控件、web控件、验证控件、用户控

件、自定义控件。

Html控件

概念

一般运行在客户端进行运行,不会提交到服务器端。举个例子,点击某个按钮,更换皮肤,这只是

对这个机器的客户端发生来改变,而不会提交到服务器端的。

使用

使用vs或者Dw创建html页后,直接拖拽就可以了。拖拽后我们看到源代码类似如此

<input id="Button1"type="button" value="button" />这是一个按钮控件,由inputtype来确定这个控件,其他均是这个控件的属性和方法等。

有自己的事件和方法,onclickonfocus等。通过事件来触发函数,进而对页面进行一定的操作。

web控件

概念

什么是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控件的区别(了解)

简单认识了htmlweb控件,来搞一下html控件和web控件有什么区别。

<inputid="Button1" type="button" value="button" />

<asp:ButtonID="Button1" runat="server" Text="Button" />

web控件中统一的将所有控件都继承在asp类下面进行统一的管理,统一的命名空间更好的管理控件的属

性和方法。当然web控件和html控件有很多的区别,只了解下,知道怎么去用就可以了。详解

见:

验证控件

RequiredFieldValidator

从字面上理解就是必须字段的验证

使用

几乎所有的控件在使用上都是来设定一些值或者函数来实现验证,所以没有必要对每个控件的使用

都一一详细的去做。只知道这个控件大体上是什么功能,参照某一个验证控件的用法,一一破解即

可。

ControlToValidate:表示要进行检查控件ID;

ErrorMessage:表示当检查不合法时,出现的错误信息;

Display:错误信息的显示方式;Static表示控件的错误信息在页面中占有肯定位置;Dymatic表示控件

错误信息出现时才占用页面控件;None表示错误出现时不显示,但是可以在ValidatorSummary中显

示;

占位符:表示Display为Static时,错误信息占有"占位符"那么大的页面空间;

 

来自 <>

 

demon one

 

以上是一个很简单的验证在文本框中需要写入值的验证,我们可以看到通过设定

ControlToValidateErrorMessage就可以实现了。很有意思,可以试试。

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" %>

如何引用直接拖到指定需要的地方就可以了

<%@ Register src="ControlTest.ascx"tagname="ControlTest" tagprefix="uc1" %>,谓之注册

 

自定义控件

其实用户控件和自定义控件在某种程度上都属于自定义的,简单理解都是用户根据自己的需要来定制

的。可是为什么要分为两种呢?这是由于这两种控件的创建方式和使用的区别造成的。用户控件相对创

建起来较为简单,直接新建ascx文件,然后根据自己的需求定制就可以了。然后在相关的页面注册就可以

直接使用了,这个过程是动态编译的。至于什么是动态编译,我也搞不懂,简单理解一下就是在编译的

时候需要调用系统的一些dll文件,这样来实现编译,当然速度有点慢,相对的就是自定义控件的静态编

译了。用户控件在编译的时候直接将dll文件所需文件抽取出来链接到生成的可执行文件中,这样一来就

无需每次都加载dll,节省时间。这是自定义控件和用户控件在创建时候的区别;在使用的时候自定义控

件是可以类似于一般控件一样,添加在左侧的工具栏中;而用户控件需要每次在使用页注册,也就是链接一下。

在这篇文章里,自定义控件就总结到。后面再对对自定义控件的使用,实现一个例子,再来理解一下。

 

总结

大体上,控件就总结到这里了。有html控件,之后+runat="server"就能联想到web控件(内部控件);由

内部控件再到自定义控件自定义控件里面有用户控件;最后还有一个验证控件。其实还有一类是数据控

件,但是那个可以放到ado.net里面来讲。控件的使用,很多地方都是类似的。例如:验证控件,数据控

件,知道了一个,其他都差不多。只需要跟着视频巩固就好了。

 

 

 

转载于:https://www.cnblogs.com/guziming/p/4232716.html

你可能感兴趣的文章
core--线程池
查看>>
redux-effect
查看>>
Android轻量级的开源缓存框架ASimpleCache
查看>>
他山之石:加载图片的一个小问题
查看>>
shell - 常识
查看>>
linux下编译复数类型引发的错误:expected unqualified-id before '(' token
查看>>
codeforces 1041A Heist
查看>>
Spring Cloud Stream消费失败后的处理策略(三):使用DLQ队列(RabbitMQ)
查看>>
bzoj1048 [HAOI2007]分割矩阵
查看>>
Java中的编码
查看>>
PKUWC2018 5/6
查看>>
As-If-Serial 理解
查看>>
洛谷P1005 矩阵取数游戏
查看>>
在Silverlight中使用HierarchicalDataTemplate为TreeView实现递归树状结构
查看>>
无线通信基础(一):无线网络演进
查看>>
关于python中带下划线的变量和函数 的意义
查看>>
linux清空日志文件内容 (转)
查看>>
Servlet接收JSP参数乱码问题解决办法
查看>>
Ajax : load()
查看>>
MySQL-EXPLAIN执行计划Extra解释
查看>>