当前位置: 首页 > news >正文

html、html服务器控件和web服务器控件的区别

        asp.net 之所以现在开发方便和快捷,关键是它有一组强大的控件库,包括 web 服务器控件,web 用户控件,web 自定义控件,html 服务器控件和 html 控件等。这里我主要说说 html 控件、html 服务器控件和 web 服务器控件的区别。 
        1、html 控件:就是我们通常的说的 html 语言标记,这些语言标记在已往的静态页面和其他网页里存在,不能在服务器端控制的,只能在客户端通过 javascript 和 vbscript 等程序语言来控制。<input type="button" id="btn" value="button"/>
        2、html 服务器控件:其实就是 html 控件的基础上加上 runat="server"所构成的控件.它们的注意区别是运行方式不同,html 控件运行在客户端,而 html 服务器控件是运行在服务器端的参考其他资料是这样说的: 当 ASP.NET 网页执行时,会检查标注有无 runat  属性,如果标注没有设定,那么 Html 标注就会被视为符串,并被送到字符串流等待送到客户端,客户端的浏览器会对其进行解释;如果 Html 标注有设定 runat="server" 属性,Page 对象会将该控件放入控制器,服务器端的代码就能对其进行控制,等到控制执行完毕后再将 Html 服务器控件的执行结果转换成 Html 标注,然后当成字符串流发送到客户端进行解释<input id="Button" type="button" value="button" runat="server" />
        3、web 服务器控件:也称 asp.net 服务器控件,是 Web Form 编程的基本元素,也是 asp.net 所特有的。它会按照 client 的情况产生一个或者多个 html 控件,而不是直接描述 html 元素。如: <asp:Button ID="Button2" runat="server" Text="Button"/>那么它和 html 服务器控件有什么区别呢?参照其他网页的资料看法如下:
       1)、Asp.net 服务器控件提供更加统一的编程接口,如每个 Asp.net 服务器控件都有 Text 属性。
       2)、隐藏客户端的不同,这样程序员可以把更多的精力放在业务上,而不用去考虑客户端的浏览器是 ie 还是 firefox,或者是移动设备。
       3)、Asp.net 服务器控件可以保存状态到 ViewState 里,这样页面在从客户端回传到服务器端或者从服务器端下载到客户端的过程中都可以保存。
       4)、事件处理模型不同,Html 标注和 Html 服务器控件的事件处理都是在客户端的页面上,而 Asp.net 服务器控件则是在服务器上,举例来说:
    <input id="Button4" type="button" value="button" runat="server"/>是 Html 服务器控件,此时我们点击此按钮,页面不会回传到服务器端,原因是我们没有为其定义鼠标点击事件。
    <input id="Button4" type="button" value="button" runat="server"  />我们为 Html 服务器控件添加了一个 onserverclick 事件,点击此按钮页面会发回服务器端,并执行 test(object sender, EventArgs e)方法。
    <asp:Button ID="Button2" runat="server" Text="Button" />是 Asp.net 服务器控件,并且我们没有为其定义 click,但是我们点击时,页面也会发回到服务器端。
    由此可见:Html 标注和 Html 服务器控件的事件是由页面来触发的,而 Asp.net 服务器控件则是由页面把 Form 发回到服务器端,由服务器来处理。

转载于:https://www.cnblogs.com/zhougb/archive/2009/03/23/1419454.html

相关文章:

  • Sun 赞助了 EclipseCon 2009!
  • 无线故障全搞定 OmniPeek使用技巧
  • 虚拟机-实验者的福音
  • 河南移动网上营业厅不支持google浏览器chrome
  • PhotoShop 学习方法论简单总结
  • [原]创建windows服务
  • 漫步草堂竹林有感
  • 某公司高级网络工程师面试题
  • 一句话可以改变人的一生
  • 《提分宝典》科学备考、快速提分 ——不一样的中高考备考指导报告会
  • 用一个 Byte 数表示 8 个复选框的选择状态
  • Move To Next Text Box By Pressing Enter Key
  • Web Service领域内高引用的出版物(更新中)
  • Visual Studio 2008 优化提示
  • @取消转义
  • .pyc 想到的一些问题
  • 【Under-the-hood-ReactJS-Part0】React源码解读
  • bearychat的java client
  • Javascript Math对象和Date对象常用方法详解
  • JS题目及答案整理
  • python3 使用 asyncio 代替线程
  • Sublime Text 2/3 绑定Eclipse快捷键
  • web标准化(下)
  • 第13期 DApp 榜单 :来,吃我这波安利
  • 坑!为什么View.startAnimation不起作用?
  • 如何在 Tornado 中实现 Middleware
  • 数据仓库的几种建模方法
  • 新书推荐|Windows黑客编程技术详解
  • 延迟脚本的方式
  • 转载:[译] 内容加速黑科技趣谈
  • ​Linux Ubuntu环境下使用docker构建spark运行环境(超级详细)
  • ​secrets --- 生成管理密码的安全随机数​
  • #Z2294. 打印树的直径
  • (附源码)node.js知识分享网站 毕业设计 202038
  • (附源码)springboot掌上博客系统 毕业设计063131
  • (附源码)计算机毕业设计SSM保险客户管理系统
  • (九)信息融合方式简介
  • (论文阅读31/100)Stacked hourglass networks for human pose estimation
  • (每日持续更新)信息系统项目管理(第四版)(高级项目管理)考试重点整理 第13章 项目资源管理(七)
  • (三)elasticsearch 源码之启动流程分析
  • (算法)前K大的和
  • (一)硬件制作--从零开始自制linux掌上电脑(F1C200S) <嵌入式项目>
  • (译)2019年前端性能优化清单 — 下篇
  • (中等) HDU 4370 0 or 1,建模+Dijkstra。
  • (转)Scala的“=”符号简介
  • (转载)虚函数剖析
  • .net 重复调用webservice_Java RMI 远程调用详解,优劣势说明
  • @SentinelResource详解
  • [ 常用工具篇 ] AntSword 蚁剑安装及使用详解
  • [8481302]博弈论 斯坦福game theory stanford week 1
  • [ActionScript][AS3]小小笔记
  • [BZOJ2208][Jsoi2010]连通数
  • [C#] 基于 yield 语句的迭代器逻辑懒执行
  • [C++][数据结构][算法]单链式结构的深拷贝
  • [CISCN 2023 初赛]go_session