将HTML控件用作Server控件
可以将任何HTML元素转换为服务器控件 只要为该元素添加runat= server 属性即可 如将在第 章看到的那样 当页面提交到服务器的时候 可以使用代码动态地处理任何服务器控件(由HTML元素转换而来的或ASP NET的) 例如 在向页面添加了一个ASP NET TextBox控件之后 可以使用在服务器上运行的代码设置该控件文本区显示的值 然而 一旦为某个元素添加了runat= server 属性(并为其指定一个惟一的ID) 例如一个div元素 接下来就可以使用运行在服务器上的代码动态地指定这个div要显示什么 以及应将它放置在什么位置
另外 因为可以向任意HTML元素添加runat= server 属性 所以如果喜欢 可以使用Input type= text 控件代替ASP NET的TextBox控件──其他HTML元素只要在ASP NET工具箱中有对应的控件都可以这样使用
应该使用HTML控件还是ASP NET服务器控件
这个问题实际上只与页面上简单的元素有关 例如文本框 按钮和表格等 复杂的服务器控件 例如Calendar控件 用户加速站点的开发速度 因此这种情况下不用考虑具体使用哪种控件 在选择向页面添加哪种类型的控件时 绝大多数开发人员的方法是在页面上主要使用ASP NET的Standard Server Control 而在布局时使用静态HTML元素
虽然在大多数情况下都可以这样做(而且确实在有些情况下需要使用服务器控件才能获得HTML控件无法提供的功能) 但也有例外的情况 例如 向HTML div和table元素添加runat= server 是作者通常使用的一种技术 如果我知道我希望根据用户的输入显示或隐藏页面的某部分 就可以把需要在服务器上处理的元素转换为服务器控件 然后动态地控制它们的可视性 虽然使用标准的服务器控件也很容易创建具有相同功能的站点 但我所在的工作小组只使用简单的HTML元素进行布局 因此有时将某些HTML元素转换为服务器控件比重写代码使用ASP NET内建的服务器控件要容易一些 在这个问题上没有真正的对与错 所以应该根据自己的判断进行选择 但应该注意到 可能会遇到使用其他方法编写的代码 这些方法仍然是有效可行的
ASP NET 入门教程完整版
lishixinzhi/Article/program/net/201311/14697其实没什么联系,区别如下:
HTML元素不经过服务器解释,在服务器看来即使你写的再标准或者再不标准,都只是文本常量而已。
HTML服务器控件,一个简单的runat="server",让服务器明白这个标签不再是简单的文本,而是一个HTML服务器控件(System.Web.UI.HtmlControls.HtmlControl)。
而标准服务器控件则是继承自System.Web.UI.WebControls.WebControl。
以上两者的父类就是不同的,所以差异从这里就有很大的区别了。
很简单 .net web控件是需要经过服务器编译的控件,但是编译之后他任然是以的html控件的形式存在,只不过微软通过附加一些脚本代码来让它能够实现触发服务器端onclick事件的功能。你可以通过查看网页的源代码发现这个问题。html控件是asp时代用得最多的控件,都是存在于客户端的,当数据做提交的时候会获取表单内这些控件的值然后传给服务器端做处理,这个提交的 *** 作之前能够在客户端对这些控件进行一些基本的数据验证之类的功能,由于在客户端实现数据验证,对服务器的压力会比较小。
总之,既然你已经开始进入.net,就不要仍然用老的思路和方法来实现功能,最好使用web控件,不过要注意的是web控件为了实现服务器端的代码,几乎每个控件都是需要刷新页面的,要和服务器实现互动,这样无形加重了服务器端的压力。原因是b/s架构的网页除非是用ajax或者iframe之类的无刷新技术,否则基本上只能通过刷新页面来实现控件和服务器的数据传递互动。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)