这4个控件都属于WEB服务器控件,有很多相同的属性和事件。其区别如下所示。

 在*.aspx页面中插入Button控件如以下代码所示。
<asp:Button runat="server" ID="b1" Text="Button控件" />
在页面运行后,Button控件最终生成的HTML标签如以下代码所示。
<input type="submit" name="b1" id="b1"value="Button控件" />
即Button控件最终生成的是HTML表单控件中的提交按钮,其“name”属性和“id”属性为服务器控件中的“ID”属性值。

 在*.aspx页面中插入ImageButton控件如以下代码所示。
<asp:ImageButton runat="server" ID="b2" ImageUrl="/img/uc1.gif" />
在页面运行后,ImageButton控件最终生成的HTML标签如以下代码所示。
<input type="image" name="b2" id="b2" src="/img/uc1.gif" />
类似于Button控件,ImageButton控件最终生成的也是HTML表单控件,只是类型为图像,其“src”属性值(图像链接路径)即为服务器控 件中的“ImageUrl”属性值。

 在*.aspx页面中插入LinkButton控件如以下代码所示。
<asp:LinkButton runat="server" ID="b3" Text="LinkButton控件"></asp:LinkButton>
在页面运行后,LinkButton控件最终生成的HTML标签如以下代码所示。
<a id="b2" href="javascript:__doPostBack('b3','')">LinkButton控件</a>
和以上两个控件不同,LinkButton控件生成的HTML标签是超级链接,只是“href”属性指向一个浏览器端的javascript函数 (__doPostBack函数),并传递两个字符串参数。其中,第1个参数是该服务器控件的“ID”属性值,第2个参数则为可传递给服务器的事件参数。
说明:__doPostBack函数的第1个参数即为引发页面回传的控件ID,后面讲述回传机制时会详细分析。

 在*.aspx页面中插入HyperLink控件如以下代码所示。
<asp:HyperLink runat="server" ID="b4" Text="HyperLink控件" NavigateUrl="~/Index.aspx"></asp:HyperLink>
在页面运行后,HyperLink控件最终生成的HTML标签如以下代码所示。
<a id="b4" href="http://sdrabbit.blog.163.com/blog/Index.aspx">HyperLink控件</a>
类似于LinkButton控件,HyperLink控件所生成的HTML标签是最常用的超级链接,其“href”属性即为服务器控件中的 “NavigateUrl”属性值,指向一个页面的URL。

【分析】
本题考查面试者对几个常用且字面上容易混淆的服务器控件的认识程度。解答中通过这些服务器控件实际生成的HTML代码进行区分.
Button控件使用非常 频繁,该控件用于提交表单数据。
ImageButton控件和Button控件基本相似,只是通过图像来表现外观.
和Button控件的Click事件不 同,ImageButton控件的Click事件是配合System.Web.UI.ImageClickEventHandler委托工作的。即 ImageButton控件的Click事件处理方法中使用的事件参数类型为System.Web.UI.ImageClickEventArgs,两个 参数X,Y可以获取用户单击的精确位置并做相应的处理。
LinkButton控件和HyperLink控件直接生成超级链接标签,从外观上来 看,LinkButton控件和HyperLink控件是一模一样的,因为它们生成的都是超级链接标签。
以上几个控件中,只有HyperLink控件不传 递数据给服务器,根据“NavigateUrl”属性直接跳转到指定页面。而其他三个控件都是通过表单将数据提交到服务器,LinkButton控件有点 特殊,该控件通过javascript函数的__doPostBack函数将数据赋值给表单的隐藏字段,然后提交回服务器。

ASP.NET Button、ImageButton、LinkButton、HyperLink区别的更多相关文章

  1. asp.net控件的Hyperlink控件

    Asp.net控件: Hyperlink控件:Hyperlink控件又称为超链接控件,该控件在功能上跟Html的<a herf=””>控件相似,其显示的模式为超链接的形式. 注意: Hyp ...

  2. android学习日记03--常用控件button/imagebutton

    常用控件 控件是对数据和方法的封装.控件可以有自己的属性和方法.属性是控件数据的简单访问者.方法则是控件的一些简单而可见的功能.所有控件都是继承View类 介绍android原生提供几种常用的控件bu ...

  3. [转帖]Asp.Net MVC EF各版本区别

    Asp.Net MVC EF各版本区别 https://www.cnblogs.com/liangxiaofeng/p/5840754.html 2009年發行ASP.NET MVC 1.0版 201 ...

  4. button 和 submit 的区别

    表单提交中button和submit的区别submit是button的一个特例,也是button的一种,它把提交这个动作自动集成了,submit和button,二者都以按钮的形式展现,看起来都是按钮, ...

  5. 新建网站与新建Asp.Net Web 应用程序的区别

    .net网站和应用程序区别,网站是动态执行的不用编译,他只依赖于自己的文档本身,甚至你用aspx里直接写jsp代码都可以,其实网站可以说只是在.net平台中打开的文档,相当于最初的记事本编码,他并不需 ...

  6. MVC ASP.NET MVC各个版本的区别

    ASP.NET MVC各个版本的区别 Net Framework4.5是不支持安装在window server 2003上,如非装请用net framework4.0; MVC1.0 publsh t ...

  7. 表单提交:button input submit 的区别

    http://harttle.com/2015/08/03/form-submit.html 最近项目代码中的表单提交的方式已经百花齐放了,现在用这篇文章来整理一下不同表单提交方式的区别,给出最佳实践 ...

  8. [转]表单提交:button input submit 的区别

    博客转自于   http://harttle.com/2015/08/03/form-submit.html  ,同时自己做了稍微改动 最近项目代码中的表单提交的方式已经百花齐放了,现在用这篇文章来整 ...

  9. 安卓开发学习日记 DAY4——Button,ImageButton

    Button与ImageButton基本类似 也有类似于TextView和ImageView的区别 这里需要注意的是: 在你定义text属性的内容时,最好是在Values文件下的String.xml中 ...

随机推荐

  1. 【初探Spring】------Spring IOC(一)

    IOC:Inversion of Control(控制反转).IOC它所体现的并不是一种技术,而是一种思想,一种将设计好的对象交给容器来管理的思想.IOC的核心思想就体现在控制.反转这两个词上面,要理 ...

  2. ubuntu 启动MySql和安装python的MySQLdb模块

    ubuntu一般会自己预安装mysql,你只需 /etc/init.d/mysql start|stop|restart|reload|force-reload|status  命令便可以实现mysq ...

  3. 使用自定义 classloader 的正确姿势

    详细的原理就不多说了,网上一大把, 但是, 看了很多很多, 即使看了jdk 源码, 说了罗里吧嗦, 还是不很明白: 到底如何正确自定义ClassLoader, 需要注意什么 ExtClassLoade ...

  4. JavaScript随笔6

    Ajax:(1) 阻止缓存?+t = new data(); eval可以把string变为数组(2) get:放入URL username = &password = ; 容量有小 安全性差 ...

  5. 阿里云系列——7.阿里云IIS系列详解(过程+通用+最新)

    网站部署之~阿里云系列汇总 http://www.cnblogs.com/dunitian/p/4958462.html 先讲IIS系列,Linux部署以后再继续讲 先打开主机管理平台,确认域名绑定 ...

  6. .NET MVC4 Razor视图预编译(一)

    在平时使用.NET MVC中不乏有类似的需求:某些razor视图,特别是系统后台的视图,不想让用户自行更改,需要通过某种方法把视图模板编译到项目的dll中去. 但是VS并不提供razor的预编译,如果 ...

  7. spring mvc DispatcherServlet详解之前传---FrameworkServlet

    做项目时碰到Controller不能使用aop进行拦截,从网上搜索得知:使用spring mvc 启动了两个context:applicationContext 和WebapplicationCont ...

  8. go-hbase的Scan模型源码分析

    git地址在这里: https://github.com/Lazyshot/go-hbase 这是一个使用go操作hbase的行为. 分析scan行为 如何使用scan看下面这个例子,伪代码如下: f ...

  9. Oracle 内置sql函数大全

    F.1字符函数--返回字符值 这些函数全都接收的是字符族类型的参数(CHR除外)并且返回字符值.除了特别说明的之外,这些函数大部分返回VARCHAR2类型的数值.字符函数的返回类型所受的限制和基本数据 ...

  10. Redis分布式集群几点说道

    原文地址:http://www.cnblogs.com/verrion/p/redis_structure_type_selection.html  Redis分布式集群几点说道 Redis数据量日益 ...