Html controls 和 Web controls 的区别

本文介绍了ASP.NET中Htmlcontrols(HC)与Webcontrols(WC)的区别。HC是对HTML标签的简单封装,而WC则是微软为提高逻辑性和功能性重新设计的一套控件,如DropDownList和ListBox等。

Html controls(以下简称HC)是对大部分Html标签的复制,这些标签原来是什么样,经过服务器解释后的HC就是什么样。要使用HC,只需要在相应的html标签内加上runat=“server”属性。例如:

 

Web controls(以下简称WC)是微软在原有html标签的基础上重新设计整理并抽象后的一套控件,虽然它最终还是会解释成html标签,但是它是对现有html标签的一种更合理更有意义的逻辑表示。为什么要建立这种不同的抽象?例如<select>标签,如果要建立一个单选下拉列表框,则如下:

如果要建立一个多选下拉列表框,则如下:

 

运行结果:

 

可以看到,代码上很小的差别,显示出来的效果却差了很远。为了在代码中更清晰的表示这种差别,微软提供了两种<select>标签对应的WC:DropDownList 和 ListBox。

 

要使用WC,则按照如下形式:

Ajax框架介绍   虽然大部分开发人员在过去使用过XMLHttp或者使用Iframe来加载数据,但仅到现在我们才看到传统的开发人员公司开始采用这些技术。就像新的编程语言或模型伴随着更多的痛苦,开发人员需要学习新的技巧及如何最好利用这些新技术。   AJAX模式   许多重要的技术AJAX开发模式可以从现有的知识中获取。例如,在一个发送请求到服务端的应用中,必须包含请求顺序、优先级、超时响应、错误处理及回调,其中许多元素已经在Web服务中包含了,就像现在的SOA。AJAX开发人员拥有一个完整的系统架构知识。同时,随着技术的成熟还会有许多地方需要改进,特别是UI部分的易用性。   AJAX开发与传统的CS开发有很大的不同。这些不同引入了新的编程问题,最大的问题在于易用性。由于AJAX依赖浏览器的JavaScriptXML,浏览器的兼容性支持的标准也变得JavaScript的运行时性能一样重要了。这些问题中的大部分来源于浏览器、服务器技术的组合,因此必须理解如何才能最好的使用这些技术。   综合各种变化的技术强耦合的客户服务端环境,AJAX提出了一种新的开发方式。AJAX开发人员必须理解传统的MVC架构,这限制了应用层次之间的边界。同时,开发人员还需要考虑CS环境的外部使用AJAX技术来重定型MVC边界。最重要的是,AJAX开发人员必须禁止以页面集合的方式来考虑Web应用而需要将其认为是单个页面。一旦UI设计与服务架构之间的范围被严格区分开来后,开发人员就需要更新变化的技术集合了。
Web controls使创建forms HTML controls.的工作将会变得简单易行。例如在ASP中典型的选择框 selectbox里,你不得不创建一个循环以便让控制系统装入数据。但在ASP.net里,你将会拥有一个"data-bound",这意味着它会与数据源连接,并会自动装入数据。这些功能听起来简直是妙不可言,但是让我们细细的来检验一下。   通过传统的ASPADO,你能够选择在哪里放置数据库游标(服务器一边或是用户一边),至于其它的,是依靠你想要创建的性能功能类型来做决定。但是在ASP+里,你不再有选择。因为在web controls服务器之间的链接,迫使你不得不将所有的事物都放置在客户方。对于客户服务器来说,不啻于一个性能中心,因为它必须将所有的数据存储在本地内存里。   Web controls 也在严格的XML 术语中引进了新的语法。因此,你会不再有比较松散的代码编辑过程,你必须关闭所有的标记符,使用定义等等。当然,大多数人对于适应这个功能会感到非常痛苦,但是严格的的代码编辑过程通常意味着更少的错误。   另一方面关于Web forms 缺陷在于,要想使用Web form的大部分功能,你必须使用forms 的POST 方法;例如,state管理。当你使用GET方法时,所有的all best 会被关闭掉,你就不能使用相应的功能。这个限制实在太没必要了。   ASP.NET Server Controls   许多系统过去的组成部分现在成为ASP.NET Server Controls。例如:ad rotator已升级,并开始用XML来存储它的信息,但不仅仅于此。这儿有一整套控制系统,它可以做任何事情,从代为管理你的表单状态到显示日历、桌面。事实上,几乎每HTML元素都有ASP.NET Server Controls,通过ASP.NET Server Control,可以与HTML元素程式化的相互影响。例如,你不再需要为了维持一个在LISTBOX里选定的 OPTION而大走弯路。你只需指示LISTBOX 在服务器里运作并代你进行管理就可以了。更为方便的是,你只需设定好程序,LISTBOX就会按指令依次显示选定的项目。 也许在这个新的 controls中最有趣的莫过于 DataGrid。Datagrid是一个多列的数据绑定网格,通过它你可以轻而易举的将数据置于其中。它同时提供分页、排序等所有你所期望的功能。   记录丢失,对于程序员来说是一个非常严重的事情。在新的系统中, 中心对象是Dataset。它与recordset相类似,是数据内在存储记忆的副本。Dataset对于您的开发来说是中心所在,但是现在,我只能说它只是相近与XML,使程式在简单化统一化的过程中,相对简单。你还是可以用你过去用过的来处理一切…(除了服务器端游标)… 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值