onclick onserverclick,onclientclick的区别和用法

 我来答
碎殷得V
2016-09-18 · TA获得超过645个赞
知道小有建树答主
回答量:616
采纳率:50%
帮助的人:823万
展开全部
1、OnClientClick是客户端事件处理方法,一般采用JavaScript来进行处理,也就是直接在IE端运行,一点击就运行;
2、OnClick是服务器端事件处理方法,在服务器端也就是IIS中运行,点击后,先执行postback,再运行;
3、OnClientClick常用来做一些客户端的检测。当然也可以放在服务器端检测,但是需要与服务器进行交互,消耗资源,而且用户体验也不好。
当一个控件上同时有OnClick和OnClientClick时,OnClientClick先于OnClick执行
正确的写法应该是:
举例一:<asp:Button ID="btnSave" runat="server" Text="Save" OnClick="btnSave_Click" OnClientClick="return saveFunc();" />
saveFunc对数据进行验证,当验证通过返回true时,执行服务器端方法进行保存,验证不通过返回false,服务器端的保存方法就不会执行。
错误的写法:
举例二:
<!--无论验证是否通过,都会执行服务器端方法,不能达到验证的目的-->
<asp:Button ID="btnSave" runat="server" Text="Save" OnClick="btnSave_Click" OnClientClick="saveFunc();" />
举例三:
<!--无论验证结果如何都返回false,服务器端方法永远不会执行-->
<asp:Button ID="btnSave" runat="server" Text="Save" OnClick="btnSave_Click" OnClientClick="saveFunc(); return false;" />

下面以 HTML的按钮(system.web.ui.htmlcontrols) 和 ASP.NET服务端按钮 (system.web.ui.webcontrols) 为例:
一、 HTML控件,如IMG的输入按钮等 的 onclick ( 客户端) 和 onserverclick(服务端) 事件,
举例四:
注意 runat="server"
<input type="button" id="btn" name="btn" value="button" runat="server" onserverclick="ServerSideEvent" onclick="SideScript" />
此处的onclick先于onserverclick执行。
二、WEB控件,如<asp:button 按钮等 的 onclientclick (客户端) 和 onclick (服务端) 事件;
举例五:
<asp:Button ID="btn" text="button" runat="server" OnClick="SideScript" OnClientClick="ClientSideScript" />
此处的onclientclick先于onclick执行。
WYZZWB2011407d2e
高能答主

2016-09-27 · 最想被夸「你懂的真多」
知道大有可为答主
回答量:5.2万
采纳率:77%
帮助的人:7622万
展开全部
onClick是单击事件,onServerClick是服务器的单击事件,onClientClick是客户机的单击事件。
在Visual Basic中,可以利用鼠标事件来使应用程序对鼠标的位置和状态作出响应,如单击、双击、移动、松开鼠标键和按下鼠标键等。
事实上,单击和双击不是鼠标事件。在按下鼠标键并释放时,单击事件只能把这个过程识别为单击操作。单机和双击事件也不能区分各个鼠标键与上档键、换档键和控制键的功能键。这里之所以把它们归到鼠标事件中,是为了集中说明。另外,单击和双击事件也的确与鼠标的操作有关。在发生双击事件的同时,也发生了单击事件。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式