实用技巧

关注公众号 jb51net

关闭
首页 > 网络编程 > ASP.NET > 实用技巧 > 执行客户端不回送页面

ASPNET按钮只执行客户端代码不回送页面实现思路

作者:

有些时候需要实现只执行客户端代码不回送页面,不过很多童鞋们不清楚如何实现呢,还好本文的出现将解决你的困扰,感兴趣的朋友可以了解下,或许对你有所帮助
asp.net的Button默认行为是将页面回送后执行服务器代码。在页面中还可以使用html的按钮控件input type="button",但是这种HTML控件在cs文件中引用不到。

asp:Button在cs文件中可用,如何使它只执行客户端JavaScript代码而不回送执行服务器端代码呢?

首先介绍asp:Button的两个事件OnClientClick和OnClick,前者OnClientClick是执行客户端JavaScript代码,后者OnClick是服务器代码,先执行postback,再在服务器运行。OnClientClick要先于OnClick,如果asp:Button里没有OnClick,点击时会照样回送。

当OnClientClick返回false时,OnClick就不会执行了。这样在OnClientClick可以执行一个Ajax异步操作。
复制代码 代码如下:

<asp:Button ID="btnSave" runat="server" Text="Save" OnClientClick="AjaxDoSave(); return false;" />

这样这个Button就变成了客户端的input了,但在cs文件中还能引用到。
阅读全文