日期:2014-05-19  浏览次数:20374 次

Button控件的OnClick和OnClientClick时间能否同时触发??
代码如下:

<asp:Button   ID= "btnUpdate "   runat= "server "   Text= "提交修改 "   CssClass= "btnClass1 "   OnClick= "btnUpdate_Click "   OnClientClick= "userFunction(); "   />

客户端函数userFunction()成功执行
服务器端的btnUpdate_Click()函数却未执行

哪位大侠知道能够让这两个事件同时触发,谢谢~

------解决方案--------------------
你检查一下你的JS代码吧。。。
应该是并发的
------解决方案--------------------
页面postback没有,如果页面回送了,服务器端的方法应该就会执行的
------解决方案--------------------
现 完成 ClientClick 再Click
------解决方案--------------------
1.查看userFunction()返回值
2.查看事件关联
------解决方案--------------------
OnClick= "btnUpdate_Click() "
------解决方案--------------------
帮定,debug看看有没有运行呢
------解决方案--------------------
事事总有意外,你应该把你的userFunction();内容检查清楚,或者贴出来。如果它引发异常呢?页面重定向呢?或者破坏Form对象呢?或者别的什么?
------解决方案--------------------
<asp:Button ID= "btnUpdate " runat= "server " Text= "提交修改 " CssClass= "btnClass1 " OnClientClick= "userFunction(); " />
在userFunction()里再调用服务器端的事件
------解决方案--------------------
说错莫怪
------解决方案--------------------
userFunction() 里面是不是写了return false;
------解决方案--------------------
userFunction(); 按说不论返回什么值,你这里把函数当作方法使用,返回值直接丢弃了,不会影响之后的 _postBack 执行。

“如果返回为true,页面提交了,服务器端函数也执行了,但是userFunction()又没有执行了,服务器端的函数就无法执行”,这句鬼魅呀?!返回为true还“又没有执行”?服务器端函数也执行也无法执行?没有看懂。

你还是再看看。你可以在 userFunction 前后(在OnClientClick属性中写)以及函数内部使用alert打印执行状态,或者随便写上几个乱码,让vs帮你断点调试。
------解决方案--------------------
<asp:Button ID= "btnUpdate " runat= "server " Text= "提交修改 " CssClass= "btnClass1 " OnClick= "btnUpdate_Click " OnClientClick= "return userFunction() " />
------解决方案--------------------
客户端应该先触发
然后才触发服务器端事件