是的,可以简单地向OnClientClick添加一个返回false,但由于OnClick上的函数停止工作,因此该工作做得不好。
我在按钮上的OnClick属性上使用的函数将数据从数据库中取出并对其执行某些操作。虽然我在那里返回假,但没有任何事情发生。当它不存在时,页面会保持刷新,没有任何操作。
请,如果有人有办法阻止回发而不阻止OnClick属性上的方法会很棒!
HTML
<asp:Button Text="Edit Ceredntials" OnClientClick="ShowWindow('#EditDetails', 2500)" OnClick="GetUserData" runat="server" />
答案 0 :(得分:3)
您无法阻止回发并仍然运行OnClick
方法。那是因为OnClick
在服务器上运行,它可以执行的唯一方法是通过回发。
如果您真正想要完成的是阻止页面丢失状态和刷新,那么您应该使用AJAX和兼容的服务器端框架,例如Web API。
<script type="text/javascript">
function loadUserDetails(){
$.ajax({
url: 'api/Users/2500',
type: 'GET'
})
.success(function(userDetails){
$("#FirstName").val(userDetails.FirstName);
ShowWindow('#EditDetails', 2500);
});
}
</script>
<asp:Button runat="server" OnClientClick='loadUserDetails()' Text="Edit Credentials" />