如何在 asp 按钮上禁用回发并仍然使用 运行 OnClick 方法?
How to disable postback on an asp button and still run OnClick method?
是的,可以简单地向 OnClientClick 添加一个 return false,但这并不是很好,因为 OnClick 上的功能刚刚停止工作。
我在按钮上的 OnClick 属性 上使用的功能从数据库中取出数据并对其进行处理。虽然我那里有 return false,但什么也没有发生。不存在时,页面一直刷新,什么也没做。
拜托,如果有人有办法在不阻止 OnClick 上的方法的情况下阻止回发 属性 那就太好了!
HTML
<asp:Button Text="Edit Ceredntials" OnClientClick="ShowWindow('#EditDetails', 2500)" OnClick="GetUserData" runat="server" />
您无法阻止回发,但仍然 运行 OnClick
方法。那是因为 OnClick
运行s 在服务器上,并且它可以执行的唯一方法是通过回发。
如果您真正想要完成的是防止页面丢失状态和刷新,您应该改用 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" />
是的,可以简单地向 OnClientClick 添加一个 return false,但这并不是很好,因为 OnClick 上的功能刚刚停止工作。
我在按钮上的 OnClick 属性 上使用的功能从数据库中取出数据并对其进行处理。虽然我那里有 return false,但什么也没有发生。不存在时,页面一直刷新,什么也没做。
拜托,如果有人有办法在不阻止 OnClick 上的方法的情况下阻止回发 属性 那就太好了!
HTML
<asp:Button Text="Edit Ceredntials" OnClientClick="ShowWindow('#EditDetails', 2500)" OnClick="GetUserData" runat="server" />
您无法阻止回发,但仍然 运行 OnClick
方法。那是因为 OnClick
运行s 在服务器上,并且它可以执行的唯一方法是通过回发。
如果您真正想要完成的是防止页面丢失状态和刷新,您应该改用 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" />