ASPNET中共有几种类型的控件各有什么区别.docx
- 文档编号:28276835
- 上传时间:2023-07-10
- 格式:DOCX
- 页数:10
- 大小:18.66KB
ASPNET中共有几种类型的控件各有什么区别.docx
《ASPNET中共有几种类型的控件各有什么区别.docx》由会员分享,可在线阅读,更多相关《ASPNET中共有几种类型的控件各有什么区别.docx(10页珍藏版)》请在冰豆网上搜索。
ASPNET中共有几种类型的控件各有什么区别
ASP.NET中共有几种类型的控件?
各有什么区别?
WEB控件分为:
内部控件,列表控件,复杂控件,验证控件
内部控件内部控件的使用方法与HTML控件相同,它们映射到HTML元素并通过使用runat=server属性在服务器上执行
列表控件用于在Web页中创建数据列表
复杂控件?
当希望控件拥有复杂的功能或使用HTML元素无法创建的功能丰富的用户界面时,可以使用复杂控件
验证控件输入控件的数据需要进行准确性和取值范围方面的检查
拓展:
ASP。
NET中共有几种类型的控件?
三种:
1-控件(动态)2-标准的html控件(静态)3-标准的html控件加runat=server属性(动态)
动态页面主要由这三种控件画出来。
从数据库获取到数据后把数据绑定到这些控件上发给浏览器显示出来。
把数据绑定到控件属性的时候有两个重要的方法
Eval(字段)
Bind(字段)
Eval(字段)方法只是把数据绑定到数据控件上,并不提供修改的操作。
Bind(字段)方法是把数据绑定到数据控件上,并提供修改的操作。
●ASP。
NET中共有几种类型的控件?
两种:
1.客户端控件,也就是我们在HTML中经常用到的
2.服务端控件,例如:
客户端控件也可以转成服务端控件
他们的区别?
1.编译ASP.NET应用程序时,具有runat=server属性的HTML服务器控件被编译为程序集。
可想html控件在客户端也要在内存中生产一个dll,并加到dom模型中。
这样js就能编辑它了。
2.区别:
服务器端控件都会有个runat=Server属性,
这样才能够在后台对其进行设置修改,
也就是在cs代码里面能对其修改设置。
你做下测试你放个HTML控件在CS代码是引用不出控件名的
然后你个HTML控件加上runat=Server在CS代码就能引用该控件了
本质上ASP.NET的服务器控件解析后返回到前台还是HTML控件
你建个页面放一个asp:
textbox上去
然后运行页面,然后查看页面源文件
你会发现放上的服务器控件变成了HTML的inupttype=button
至于你说的视图状态应该是说这个吧:
由于HTTP连接属于无状态的,每次页面请求都无法记录上次请求页面的信息。
那么要保存上次请求页面上控件的值,也就是页面刷新后,填写的值不变,比方在textbox填了个a,页面刷新后还是a,.NET框架为实现这种机制,于是就用到了viewstate视图状态来保存这些控件的值,
那么将所有控件的值存在什么地方呢?
你可以运行你的程序,然后在页面中查看源文件,就可以看到一个inputtype=hiddenname=__VIEWSTATE的标签,这个就是你所谓的视图,它是经过服务器序列化过的,然后服务器接收后会反序列化这些隐藏域的值然后又从新给这些控件赋值,从而页面刷新后还能记录上次请求时候的所有控件的值。
服务器控件都会默认保存VIEWSTATE的有个属性(EnableViewState)可以设置的,设置为Flase就不保存了,页面刷新后,值也就没了,可以做个测试放个textbox设置为EnableViewState为false,然后输入个值,然后再用按钮去刷新页面,那么textbox会为空,因为没有视图状态记录到上次你输入的值。
控件是服务端控件
响应服务端事件
HTML控件是客户端控件
响应客户端事件
如果你对服务端/客户端不明白的话先去了解一下
简单来说
HTML客户端的事件是不会提交给服务端的
比如说点击一个按钮改变文字的颜色
只是针对用户机器本身的不会发送数据包给远程的服务器
而按钮点击后
将会以post或者get形式发送给服务器
进行数据库操作等等页面提交后将会刷新
但是ajax技术可以使客户端控件发送请求给webservice
具体的用法
如果强调客户端的应用
用客户端控件更能使用户感觉到方便
不用刷新页面
而需要数据库等操作时肯定要用服务端控件
但是没有绝对的
我现在做的项目就是两者结合用
4.web服务器控件并非只是运行在服务器端这么简单,它是.NET中封装好的组件,每个控件都是一个对象,属于某个基类,有自己的属性,事件和方法.由在.netframework下执行.
而HTML只是普通的HTML标记,就算加上runat=server也没有服务端控件那么强大的方法,只是有简单的属性和事件而已.HTML控件有runat=server后在服务器端加载,可以通过服务器端操纵这个控件,比如赋value值.和真正的Web服务器控件还差的很远.充其量只能算是一行代码.
5.设置为服务器控件可以通过页面.cs文件使用,它的值都可以在后台得到。
这样你在后台可以通过this.txt1.Value来获取到文本框中的值。
标准的服务器控件是
它在后来的使用是this.TextBox1.Text而不是.Value
6.因为服务器要用这些控件呀。
HTML控件是从HTML标记衍生来的,HTML控件的外形与HTML标记相似,不同之处在于:
HTML标记只能在客户端浏览器中使用,服务器无法使用。
服务器通常要把控件中的数据或存于数据库中,或做些改变重新发回去等事情。
如果不设置为服务器控件,服务器就不能使用它。
7.A之所以方便和强大,关键是它有一组强大的A服务器控件,在A中我们经常会遇到Html控件,Html服务器控件、Web控件和A服务器控件。
Html控件:
就是我们传统所说的Html超文本标记语言,这些Html控件在以往的静态网页或网页里即可满足我们的需求,Html控件并没有办法利用程序直接来控制它们的属性、使用方法和接收事件,我们必须另外其它如JavaScript等程序语言才得以控制。
如:
。
Html服务器控件:
就是上面我们讲的Html控件的属性里加上runat=server所构成的控件,至于Html控件和Html服务器控件之间的区别很明显,Html服务器控件是运行于服务器端,Html控件是运行于客户端。
具体来说:
当ASP.NET网页执行时,会检查标注有无runat属性,如果标注没有设定,那么Html控件就会被视为字符串,并被送到字符串流等待送到客户端,客户端的浏览器会对其进行解释;如果Html控件有设定runat=server属性,Page对象会将该控件放入控制器,服务器端的代码就能对其进行控制,等到控制执行完毕后再将Html服务器控件的执行结果转换成Html标注,然后当成字符串流发送到客户端进行解释。
如:
。
A服务器控件:
也叫Web服务器控件,Asp页面中用来定义Web应用程序用户界面的组件,是WebForms编程模型的基本元素,它会依Client的情况生产一个或者多个Html控件,而不是直接描述Html元素。
如。
那它和Html服务器端控件有什么区别,以及它有什么新的特点呢?
1、A服务器控件提供更加统一的编程接口,如每个A服务器控件都有Text属性。
2、隐藏客户端的不同,这样程序员可以把更多的精力放在业务上,而不用去考虑客户端的浏览器是ie还是firefox,或者是移动设备。
3、A服务器控件可以保存状态到ViewState里,这样页面在从客户端回传到服务器端或者从服务器端下载到客户端的过程中都可以保存。
4、事件处理模型不同,Html标注和Html服务器控件的事件处理都是在客户端的页面上,而A服务器控件则是在服务器上,举例来说:
是Html服务器控件,此时我们点击此按钮,页面不会回传到服务器端,原因是我们没有为其定义鼠标点击事件。
我们为Html服务器控件添加了一个onserverclick事件,点击此按钮页面会发回服务器端,并执行test(objectsender,EventArgse)方法。
是A服务器控件,并且我们没有为其定义click,但是我们点击时,页面也会发回到服务器端。
由此可见:
Html标注和Html服务器控件的事件是由页面来触发的,而A服务器控件则是由页面把Form发回到服务器端,由服务器来处理。
以上是我们对A里的控件进行了简单的介绍,我们通常说的Web控件也就是指A服务器控件。
5.
1.一个网页里可以划分为两部分:
1.1一部分是固定不变的(没有runat=server)
这一部分的在ASP.Net中是逐字输出的,在空间树中有Literal控件直接生成,在页面中不能对其进行修改,因为它没有自己对应的对象实例
1.2一部分是变化的(runat=server)
这一部分在ASP.Net中首先会生成一个对应的对象实例,通过这个对象实例在页面中可以对其进行修改,这种控件叫做服务器控件,但是这种控件又分为两种:
1.2.1一种是System.Web.UI.HtmlControls命名空间下的控件,这种控件可以在后缀名为aspx和htm文件下使用
1.2.2一种是System.Web.UI.WebControls命名空间下的控件,这种控件可以在后缀名为aspx文件下使用
2.由上面的内容可知,一个页面程序在执行时,其实是把一个页面文件转换为一个类的实例,这个类就是页面类(Page),这个类有个Controls的属性,通过它可以得到一个ControlCollection类型的对象,这个对象包含了该页面下的所有控件(由上面的划分方法获得),而页面下的控件也有ControlCollection属性,也包含有子控件,由此就构成了一个控件树。
此控件树可以在页面命令里把Trace设置为True时看到。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- ASPNET 中共 种类 控件 什么 区别
![提示](https://static.bdocx.com/images/bang_tan.gif)