【ASP.NET中,html控件与服务器控件的区别】

【ASP.NET中,html控件与服务器控件的区别】,第1张

WEB服务器控件是HTML控件的一种扩展,区别是:
1)前者可以触发服务器控件特有的事件,后者只能通过回递的方式触发服务器上的页面级事件。
2)输入到前者中的数据在请求之间可以维护(即具有状态管理功能),而后者无法自动维护数据,只能使用页面级的脚本来保存和恢复。
3)前者可以自动检测浏览器并调整到恰当的显示,而后者没有自动适应功能,必须在代码中手动检测浏览器。
4)每个服务器控件都具有一组属性,可以在服务器端的代码中更改控件的外观和行为,而后者只有HTML属性。
如果某些控件不需要服务器端的事件或状态管理功能时,可以选择HTML控件,这样可以提高应用程序的性能 百度搜索里面不是很多这样的问题吗 。 就如我最后所说的,在不是一定需要使用服务器控件的时候最好用html控件,因为每次页面运行,里面的服务器控件会向服务器里请求数据及其他,这里会占用一定的资源时间。 如有问题请追问。

aspnetWeb标准服务器控件的公共属性可以分为以下几种:
1 样式属性:控件的样式属性包括颜色、字体、边框等,用于控制控件的外观。
2 数据属性:控件的数据属性包括数据源、数据绑定等,用于控制控件的数据展示和传递。
3 事件属性:控件的事件属性包括鼠标事件、键盘事件等,用于处理用户交互行为。
4 布局属性:控件的布局属性包括大小、位置、对齐方式等,用于控制控件在页面中的布局。
5 可访问性属性:控件的可访问性属性包括标题、描述、标签等,用于支持无障碍访问。
6 其他属性:控件的其他属性包括可见性、可用性、唯一标识符等,用于控制控件的行为和特性。

ASPNET
Web
服务器控件是
ASPNET
网页上的对象,当请求网页时,这些对象将运行并向浏览器呈现标记。
许多
Web
服务器控件与常见的
HTML
元素(如按钮和文本框)类似。
其他控件具有复杂行为,如日历控件和管理数据连接的控件。
一般分为三大类:
1
ASPNET
用户控件
除在
ASPNET
网页中使用
Web
服务器控件外,您还可以使用用于创建
ASPNET
网页的相同技术创建可重复使用的自定义控件。
这些控件称作用户控件。
用户控件是一种复合控件,工作原理非常类似于
ASPNET
网页
-
您可以向用户控件添加现有的
Web
服务器控件和标记,并定义控件的属性和方法。
然后可以将控件嵌入
ASPNET
网页中充当一个单元。
2
ASPNET
Web
服务器控件
ASPNET
Web
服务器控件是
ASPNET
网页上的对象,这些对象在请求网页时运行并向浏览器呈现标记。
许多
Web
服务器控件类似于常见的
HTML
元素(如按钮和文本框)。
其他控件具有复杂行为,如日历控件以及可用于连接数据源并显示数据的控件。
ASPNET
还提供支持
AJAX
的服务器控件。
这些控件由服务器和客户端代码组成,这些代码集成在一起可生成丰富的客户端行为。
当您将
AJAX
控件添加到
ASPNET
网页上时,该页会自动将支持的客户端脚本发送到浏览器以获取
AJAX
功能。
您也可以提供其他的客户端代码来自定义控件的功能,但这不是必需的。
3
ASPNET
Web
部件控件
ASPNET
Web
部件控件是一组集成控件,用于创建这样的网站:最终用户可以在浏览器中直接修改网页的内容、外观和行为。
本节中的主题提供有关
Web
部件的定义、工作原理以及如何使用
Web
部件创建用户可自定义的
ASPNET
网页的信息。

Aspnet服务器控件,也叫Web服务器控件和Html服务器端控件的区别:
1、 Aspnet服务器控件提供更加统一的编程接口,如每个Aspnet服务器控件都有Text属性。
2、 隐藏客户端的不同,这样程序员可以把更多的精力放在业务上,而不用去考虑客户端的浏览器是ie还是firefox,或者是移动设备。
3、 Aspnet服务器控件可以保存状态到ViewState里,这样页面在从客户端回传到服务器端或者从服务器端下载到客户端的过程中都可以保存。
4、 事件处理模型不同,Html标注和Html控件的事件处理都是在客户端的页面上,而Aspnet服务器控件则是在服务器上,举例来说:
<input id="Button4" type="button" value="button" runat="server"/>是Html控件,此时我们点击此按钮,页面不会回传到服务器端,原因是我们没有为其定义鼠标点击事件。<input id="Button4" type="button" value="button" runat="server" onserverclick="test" />我们为Html控件添加了一个onserverclick事件,点击此按钮页面会发回服务器端,并执行test(object sender, EventArgs e)方法。
<asp:Button ID="Button2" runat="server" Text="Button" />是Aspnet服务器控件,并且我们没有为其定义click,但是我们点击时,页面也会发回到服务器端。
 由此可见:Html标注和Html控件的事件是由页面来触发的,而Aspnet服务器控件则是由页面把Form发回到服务器端,由服务器来处理。

HTML控件不具备任何抽象能力。每种控件与标记都是一一对应的。
Web控件创建了更高级别的抽象,它们没有任何对应的HTML标记(如Calendar和DataGrid)。因为它们不直接映射为HTML标记,所以Web控件还能够在适当的场合起到合并功能的作用(例如用一个TextBox控件来代替多个标记)。这种抽象为使用第三方提供的种类丰富的控件工具箱打开了方便之门。
对象模型
HTML控件提供了以HTML为中心的对象模型。每种控件都包括一个属性集,可以使用该属性集来控制标记的属性。这个属性集使用了字符串名/值对,并且不是强类型的。
在使用HTML控件时,您的编程方式与使用传统的ASP进行编程十分类似。因而,HTML控件提供了一条快捷的移植途径-可以通过添加一个runat="server"属性来将一个标记转变为一个服务器控件。
Web控件提供了基于表单的、类似于VisualBasic的编程模式。它们也提供了属性集,但它们的主要目标在于提供一种格式丰富、类型安全且具有一致性的对象模型。每种Web控件都包含一组标准的属性,如ForeColor、BackColor、Font等。
这种对象模型还在像VisualStudioNET这样的设计工具中提供了更丰富的设计时体验。
目标浏览器
HTML控件不会自动检测请求页面的浏览器的能力,也不会修改它们提供的HTML。在使用这组控件时,您要负责确保您的页面能同时在高级和低级浏览器上工作。
Web控件能够自动对它们生成的结果进行调整,以确保输出结果在高级浏览器和低级浏览器上的工作同样出色。Web控件还能够针对不同的浏览器提供不同的行为,从而充分发挥浏览器的潜力。例如,validation控件还可以通过客户端的脚本来创建用于高级浏览器的具有高度交互性的页面。
对生成的HTML的控制
HTML控件允许您完全控制所显示的内容以及发送到客户机浏览器的内容。
Web控件提供了更为丰富的对象模型,以及适应多种浏览器的能力。因而,它们没有提供对输出结果的相同程度的控制能力。
在开发应用程序时,可以根据这两组控件的能力以及您的需求来从中进行选择。还可以选择在同一页上混合使用这两组控件,使用一种类型的控件并不妨碍您同时使用另一种类型的控件。
web控件click会让页面递交到后台
html控件的加载速度要快过web控件
不用回发的时候可以考虑使用html控件
如果事回发尽量使用web控件


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zz/12881296.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-28
下一篇 2023-05-28

发表评论

登录后才能评论

评论列表(0条)

保存