简述web窗体控件和html控件的异同
HTML 控件不具备任何抽象能力。每种控件与 HTML 标记都是一一对应的。
Web 控件创建了更高级别的抽象,它们没有任何对应的 HTML 标记(如 Calendar 和 DataGrid)。因为它们不直接映射为 HTML 标记,所以 Web 控件还能够在适当的场合起到合并功能的作用(例如用一个 TextBox 控件来代替多个标记)。这种抽象为使用第三方提供的种类丰富的控件工具箱打开了方便之门。 HTML 控件提供了以 HTML 为中心的对象模型。每种控件都包括一个属性集,可以使用该属性集来控制标记的属性。这个属性集使用了字符串名/值对,并且不是强类型的。
在使用 HTML 控件时,编程方式与使用传统的 ASP 进行编程十分类似。因而,HTML 控件提供了一条快捷的移植途径 — 可以通过添加一个 runat=server 属性来将一个标记转变为一个服务器控件。
Web 控件提供了基于表单的、类似于 Visual Basic 的编程模式。它们也提供了属性集,但它们的主要目标在于提供一种安全且具有一致性的对象模型。每种 Web 控件都包含一组标准的属性,如 ForeColor、BackColor、Font 等。
这种对象模型还在像 Visual Studio NET 这样的设计工具中提供设计时体验。 HTML 控件不会自动检测请求页面的浏览器的能力,也不会修改它们提供的 HTML。
Web 控件能够自动对它们生成的结果进行调整,以确保输出结果在高级浏览器和低级浏览器上的工作同样出色。Web 控件还能够针对不同的浏览器提供不同的行为,从而充分发挥浏览器的潜力。例如,validation 控件还可以通过客户端的脚本来创建用于高级浏览器的具有高度交互性的页面。 HTML 控件允许完全控制所显示的内容以及发送到客户机浏览器的内容。
Web 控件提供了更为丰富的对象模型,以及适应多种浏览器的能力。因而,它们没有提供对输出结果的相同程度的控制能力。
在开发 Web 应用程序时,可以根据这两组控件的能力以及需求来从中进行选择。还可以选择在同一页上混合使用这两组控件,使用一种类型的控件并不妨碍同时使用另一种类型的控件。
轻院吧!
用户控件的文件的扩展名为ascx 一用户控件没有@page指令,而是包含@Control
用户控件不能作独立文件运行,而必须像处理其他控件一样,只有将它们添加到aspnet网页中 才能使用
用户控件中 没有<html><body>或,<form>元素,这些元素必须位于宿主网页中
可以在用户控件上使用与在aspnet网页上所 使用相同的XHTMl元素和web服务器控件
ASP NET服务器控件语法
ASP NET服务器控件比HTML服务器控件具有更多的内置功能 Web服务器控件不仅包括窗体控件(例如按钮和文本框) 而且还包括特殊用途的控件(例如日历 菜单和树视图控件) Web服务器控件与HTML服务器控件相比更为抽象 因为其对象模型不一定反映HTML语法
语法
<asp:控件名 ID= 名称 …组件的其他属性…runat= server />
例 使用ASP NET代码获取服务器控件属性 代码如下 (实例位置 光盘\mr\example\第 章\ )
aspx cs
Response Write(this btnTest Text)
aspx
<asp:Button ID= btnTest runat= server Text 服务器按钮控件 /></div>
运行结果如图 所示
图 ASP NET服务器控件应用
返回目录 ASP NET开发宝典
编辑推荐
ASP NET开发培训视频教程
Microsoft NET框架程序设计视频教程
ASP NET MVC 框架揭秘
lishixinzhi/Article/program/net/201311/16019
1HTML服务器控件 html服务器控件是一些类,它们分别表示大多数浏览器支持的标准HTML标签。一个HTML服务器控件的属性集,与对应标签的常用属性集匹配。控件具有InnerText\InnerHtml\Style和Value等属性,一级Attributes等集合特征。每次在页面来源中发现标记了runat="server"的HTML标签时,ASPNET运行库就会自动地创建对应的HTML服务器控件的实例。 现有的HTML服务器空间集并没有涵盖任一给定版本的HTML模式所有可能的HTML标签。只有最常用的标签才进入SystemWebUIHtmlControls命名空间。<iframe>、<frameset>、<body>、<hn>等标签,一级<fieldset>、<marquee>和<pre>等最不常用的标签,都被省去了。 然而,对于在服务器上使用和配置的那些标签,缺乏一种专用的服务器控件并不会限制你的编程能力。我们只需要使用一个更一般的编程接口---HtmlGenericControl类。 2Web服务器控件 Web服务器控件比HTML服务器控件具有更多特征。Web服务器控件不仅包括按钮和文本框等输入控件,而且还包括专用控件,例如日历、下拉列表、TreeView和DataGrid。Web服务器控件还包括一些非常像HTML服务器控件的组件。但是Web服务器控件比对应的HTML服务器控件更抽象,因为他们的对象模型不一定反应HTML语法。例如,让我们比较一下HTMl服务器控件和Web服务器TextBox控件。 Html服务器文本控件具有如下标记: <input runat="server" id="firsName" type="text" value="dino" /> Web服务器TextBox控件具有如下标记: <asp:textbox runat="server" id="firstName" text="dino" /> 这两个控件都生成相同的HTML标记代码。然而,HTML服务器文本控件的编程接口非常接近HTMl<input>标签的编程接口,而Web服务器TextBox控件的方法和属性以一种更抽象的方式进行命名。例如,为了设置HTMl服务器文本框的内容,必须使用Value属性,因为Value是对应的HTMl属性名。如果使用Web服务器TextBox控件,则必须设置Text属性。用HTML服务器控件还是使用Web服务器控件来表示HTML元素,只是个人爱好问题一级开发和维护的容易性问题,几乎无一例外。
求采纳
0条评论