Asp.Net 不同区别的 OnClick ( onserverclick, onclientclick )
下面以 HTML的按钮( system.web.ui.htmlcontrols ) 和 ASP.NET服务端按钮 ( system.web.ui.webcontrols ) 为例:
1. HTML控件,如IMG的输入按钮等 的 onclick ( 客户端 )和 onserverclick( 服务端 )事件,注意 runat="server"。。。
此处的onclick先于onserverclick执行。
2.WEB控件,如<asp:button 按钮等 的 onclientclick( 客户端 ) 和 onclick ( 服务端 )事件。。。
此处的onclientclick先于onclick执行。
onclientclick 事件来自2.0, 它用来取代下列代码。。。
总之,客户端点击事件先于服务器端点击事件执行。也就是说,先执行客户端的Javascript,然后到服务器端执行服务器的相关代码。
附: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" onserverclick="test" />我们为Html服务器控件添加了一个onserverclick事件,点击此按钮页面会发回服务器端,并执行test(object sender, EventArgs e)方法。
<asp:Button ID="Button2" runat="server" Text="Button" />是Asp.net服务器控件,并且我们没有为其定义click,但是我们点击时,页面也会发回到服务器端。
由此可见:Html标注和Html服务器控件的事件是由页面来触发的,而Asp.net服务器控件则是由页面把Form发回到服务器端,由服务器来处理。
分享到:
相关推荐
asp:button 按钮等 的 onclientclick( 客户端 ) 和 onclick ( 服务端 )事件。。。 此处的onclientclick先于onclick执行。onclientclick 事件来自2.0, 它用来取代下列代码。。。 总之,客户端点击事件先...
一般我们用 OnClientClick验证我们的提交数据,但是这个一定要返回ture或者false,即一定要加上return,否则... 您可能感兴趣的文章:asp.net下linkbutton的前后台使用方法asp.net button 绑定多个参数js触发asp.net的B
asp.net下OnClientClick的妙用!
本文主要介绍ASP.NET 2.0中利用JavaScript在删除按钮的客户端onclick事件(在ASP.NET中是OnClientClick)中调用confirm(string)方法,从而显示一个确认窗口,根据窗口的返回值执行不同的操作。
ASP.NET AJAX alert弹出对话框 解决 asp.net onClientClick 与 验证控件冲突问题
2.OnClientClick客户端点击按钮后,设置控件为不可用,控件文本显示处理中…,待服务器端执行完OnClick事件,控件自动恢复为可用。 代码如下: 代码如下: UseSubmitBehavior=”false” OnClientClick=”this....
asp.net的Button默认行为是将页面回送后执行服务器代码。在页面中还可以使用html的按钮控件input type=”button”,但是这种HTML控件在cs文件中引用不到。 asp:Button在cs文件中可用,如何使它只执行客户端...
今天在开发过程中发现一个问题,在asp:Button按钮属性Enabled="false"时,也就是按钮变类状态。如果通过javascript来启用按钮的,也就是它的disabled=false。按钮变为可用,但当点击时无法触发onclientclick事件,...
代码如下: <asp ID=”btnSubmit” runat=”server” UseSubmitBehavior=”false” xss=removed Text=”Submit” xss=removed> 主要添加 代码如下: UseSubmitBehavior=”false” OnClientClick=”this.disabled=true;...
无意中,尝试在按钮中加了一个客户端单击事件: 代码如下: OnClientClick=”return true” 竟然有效了: 代码如下: <asp:ImageButton ID=”imgSearch” runat=”server” ImageUrl=”~/images/iconSearch.png
OnClick是服务器端事件处理函数,使用C#或者vb.net,在服务器端,也就是IIS中运行,点击按钮后,执行postback,之后再运行。 若想先调用了OnClientClick后就不在调用OnClick事件,应在OnClientClick事件里返回false....
首先我们说说二者的概念区别吧(相信大家都清楚) 1. asp控件是服务端控件,html是客户端控件。 2. asp控件在服务端解析后,会转化为html控件使得... asp控件OnClick与OnClientClick区别:OnClientClick执行客户端事件
在C#开发过程中,免不了...<asp ID=”Button1″ runat=”server” xss=removed Text=”Button” OnClientClick> 2.注册相关事件:onblur,onclick,onchange 代码如下: this.TextBox1.Attributes.Add(“onchange”,
但,DropDownList不偈Button等控件提供了一些像”OnClientClick”前台事件,只有服务端事件。 想到,所有C#页面代码,最终都是生成HTML,js事件也是最终运在浏览器中,以Html为基础的。服务端控件最终生成的HTML...