一、Html和web窗体的区别:
1、 HTML页是静态的,也就是不用和后台交互的,上面的内容全部都是你写好的,但是有一个最大的优点就是因为网页全是静态的,所以HTML页的加载速度是最快的。
.HTML是静态页面,不与服务器进行交互的.aspx也可以说成是静态的。.html在运用到Ajax的时候也可以实现动态的功能,并且比.aspx更加的灵活,只是开发起来相对要复杂一点。纯粹的静态的页面就是不与服务器进行交互,无数据的动态显示和操作的页面。
2、Web窗体上面的数据多是动态从数据库读取的,故加载较慢。WEB窗体是一个动态网页的组合,分为.aspx和相应的.cs文件,.aspx文件可以用html标记语言实现网页前台,.cs则是服务器代码,用来进行交互。WEB窗体可以直接用VS的各种服务器控件,实现快速开发。
如果页面上的内容是动态的,从数据库读取的,或者是别的文件读取的,则必须是web窗体,还有你创建web窗体后使用的控件也是分类别的,比如web服务器控件,HTML静态控件等,都对你这个页面的加载速度有影响。
二、html控件和web控件
使用web控件,方便;使用html控件,省资源
1、ASP.NET为Web应用开发提供了很多控件,提高了功能和安全性,其中Web控件和Hunl控件虽然好多功能类似.但是它们的内部实现机制是完全不一样。
2、 Asp.net的HTMLControl继承来自system.web.ui.HtmlControls命名空间、webControl继承自在System.Web.UI.WebControls命名空间,这两个类又都继承自system.web.UI.Control的windows平台。 Web服务器控件需要通过服务器处理后译为Html控件再发送给浏览器,比较耗费服务器资源,Html直接发送到浏览器,不耗费资源,但无状态保存。
3、 Html控件不具备任何抽象能力。每种控件与标记都是一一对应的。Web控件创建了更高级别的抽象,它们没有任何对应的Html标记。因为它们不直接映射为Html标记,所以Web控件还能够在适当的场合起到合并功能的作用,例如用一个TextBox控件来代替多个标记。为使用第三方控件提供了方便。
4、 Html控件与Web控件最大的区别是它们对事件处理的方法不同。对于Html窗体控件,当引发一个事件时,浏览器会处理它。但对于Web控件,事件仅由浏览器生成,但浏览器不会处理它,客户端要给服务器发个信息,告诉服务器处理事件。
5、代码
Html代码:
<body>
<p>
<input id="Button1" type="button" value="button" /></p>
</body>
web代码:
<p>
<asp:Button ID="Button1" runat="server" Text="Button" />
</p>
web控件运行在服务器端,书写格式简单,而且不用特别加runat语句,它的实质仍是html控件只不过是用别的方法重新封装了
总结:Html就是静态页面,可以用来写错误界面等不需要和后台交互的,简单的界面;web窗体用来和服务器交互,实现动态的,比较复杂的功能。