ASP.NET Button、ImageButton、LinkButton、HyperLink区别
这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区别的更多相关文章
- asp.net控件的Hyperlink控件
Asp.net控件: Hyperlink控件:Hyperlink控件又称为超链接控件,该控件在功能上跟Html的<a herf=””>控件相似,其显示的模式为超链接的形式. 注意: Hyp ...
- android学习日记03--常用控件button/imagebutton
常用控件 控件是对数据和方法的封装.控件可以有自己的属性和方法.属性是控件数据的简单访问者.方法则是控件的一些简单而可见的功能.所有控件都是继承View类 介绍android原生提供几种常用的控件bu ...
- [转帖]Asp.Net MVC EF各版本区别
Asp.Net MVC EF各版本区别 https://www.cnblogs.com/liangxiaofeng/p/5840754.html 2009年發行ASP.NET MVC 1.0版 201 ...
- button 和 submit 的区别
表单提交中button和submit的区别submit是button的一个特例,也是button的一种,它把提交这个动作自动集成了,submit和button,二者都以按钮的形式展现,看起来都是按钮, ...
- 新建网站与新建Asp.Net Web 应用程序的区别
.net网站和应用程序区别,网站是动态执行的不用编译,他只依赖于自己的文档本身,甚至你用aspx里直接写jsp代码都可以,其实网站可以说只是在.net平台中打开的文档,相当于最初的记事本编码,他并不需 ...
- MVC ASP.NET MVC各个版本的区别
ASP.NET MVC各个版本的区别 Net Framework4.5是不支持安装在window server 2003上,如非装请用net framework4.0; MVC1.0 publsh t ...
- 表单提交:button input submit 的区别
http://harttle.com/2015/08/03/form-submit.html 最近项目代码中的表单提交的方式已经百花齐放了,现在用这篇文章来整理一下不同表单提交方式的区别,给出最佳实践 ...
- [转]表单提交:button input submit 的区别
博客转自于 http://harttle.com/2015/08/03/form-submit.html ,同时自己做了稍微改动 最近项目代码中的表单提交的方式已经百花齐放了,现在用这篇文章来整 ...
- 安卓开发学习日记 DAY4——Button,ImageButton
Button与ImageButton基本类似 也有类似于TextView和ImageView的区别 这里需要注意的是: 在你定义text属性的内容时,最好是在Values文件下的String.xml中 ...
随机推荐
- 用IntelliJ IDEA创建Gradle项目简单入门
Gradle和Maven一样,是Java用得最多的构建工具之一,在Maven之前,解决jar包引用的问题真是令人抓狂,有了Maven后日子就好过起来了,而现在又有了Gradle,Maven有的功能它都 ...
- 疯狂的JSONP
何为跨域?何为JSONP?JSONP技术能实现什么?是否有必要使用JSONP技术? 跨域 就是由于JavaScript同源策略的限制,使得a.com域名下的js无法操作b.com或c.a.com域名下 ...
- ABP源码分析九:后台工作任务
文主要说明ABP中后台工作者模块(BackgroundWorker)的实现方式,和后台工作模块(BackgroundJob).ABP通过BackgroundWorkerManager来管理Backgr ...
- 达夫设备(Duff's Device)
达夫设备设备是一段非常巧妙,看起来非常诡异的c代码,它可以很大的提高程序执行的效率(本文将试验),达夫设备的来源我就不说了,我们来分析一下. 达夫设备是考虑到我们一般用for或者while循环的时候, ...
- 在面试中忽然发现DateTime的一些...
今天说说我面试中碰到的一个小问题,在我问起DateTime为什么无法赋值NULL值,一般第一反应都认为它是值类型,不是引用类型,但随后我查阅了度娘自我学习到它是结构类型,那么随之而然就无法赋值NULL ...
- java.lang.NoSuchMethodError: org.apache.tomcat.util.res.StringManager.getManager(Ljava/lang/Class;)Lorg/apache/tomcat/util/res/StringManager
问题: 使用Springboot打包为war部署于Tomcat7中报错 java.lang.NoSuchMethodError: org.apache.tomcat.util.res.StringMa ...
- angular view之间的数据传递
之前写过一篇backbone view之间的传递,由于现在在用angular搞开发,现在也来总结一下.在angular 传递数据通俗的讲叫做 广播 ,在一些文章中,也叫做事件的发布与订阅,在angul ...
- Android笔记——Matrix
转自:http://www.cnblogs.com/qiengo/archive/2012/06/30/2570874.html#translate Matrix的数学原理 在Android中,如果你 ...
- Python初学者之网络爬虫(二)
声明:本文内容和涉及到的代码仅限于个人学习,任何人不得作为商业用途.转载请附上此文章地址 本篇文章Python初学者之网络爬虫的继续,最新代码已提交到https://github.com/octans ...
- JS原生第三篇 (帅哥)
1.1 数 组 1. 数组 看电影 电影院 座位 大的变量 里面可以放很多的值 var arr = [1,3,57]; var ar = new Array(); ...