我想点击<asp:Button>
后禁用回发。我试图通过分配onclick="return false"
来做到这一点,但是按钮不起作用。
我该如何解决这个问题?
答案 0 :(得分:13)
onClientClick="return false"
应该这样做! Onclick
将引用ASP.net函数,onClientClick
将在HTML控件中呈现为OnClick
。
答案 1 :(得分:3)
onclick
用于连接服务器端事件。您需要使用OnClientClick
<asp:button OnClientClick="return false;" />
处理程序
答案 2 :(得分:1)
看到这些答案都没有帮助我。我找到了解决方案。您应该使用HTML按钮,而不是使用ASP.NET按钮<asp:Button>
。它工作得很好,看起来就像ASP.NET按钮。要在服务器端提交HTML按钮,请使用属性onserverclick
。
<input id="btnState" class="AddButtons" runat="server" type="button" value="Add State" onclick="swap('one', 'two');" />
对于我的代码,我使用JS在服务器端执行某些操作。 <asp:Button>
不会停止回复,但正如我所说,HTML按钮解决了我的问题。如果这有助于你,请标记为答案或投票。
答案 3 :(得分:1)
这对我有用:
在<body>
:
function myfunction() {
return false;
}
和<head>
:
<asp:ImageButton ID="ImageButton1" runat="server" Height="52px" Width="58px" OnClientClick="myfunction(); return false;"/>
答案 4 :(得分:0)
既然你想在回发后做这件事,我想你想要防止双击回发?在这种情况下,您最好使用在客户端第一次单击后设置的某种状态维护变量。作为一个简单的例子
var clicked = false;
function AllowOneClick(){
if(!clicked){
clicked = true;
return true;
}
return false;
}
然后设置OnClientClick以在按钮上返回此方法结果,以便OnclientClick="return AllowOneClick()"
这当然只适用于一个按钮,但它应该给你一般的想法。
答案 5 :(得分:0)
我可以使用包含隐含控件/元素的UpdatePanel来解决这个问题。
答案 6 :(得分:0)
就我而言,上述解决方案都不适用于我。
我想要的是先在客户端调用一个函数,然后暂停回发到服务器。我的解决方案是在调用我的客户端函数之前简单地添加return
关键字,即:
<asp:Button Runat=Server OnClientClick="return fyFunction;">
我的客户端脚本在最后一行代码中包含return false
。
答案 7 :(得分:0)
使用UseSubmitBehavior =&#34; false&#34;你可以禁用onclick的回发
答案 8 :(得分:0)
使用: -
someID.Attributes.Add("onClick", "return false;");
答案 9 :(得分:0)
将您的asp按钮放在Updatepanel中,如
<asp:UpdatePanel ID="updPnl" runat="server" UpdateMode="Conditional" RenderMode="Block">
<ContentTemplate>
<asp:Button ID="btnID" runat="server" OnClick="btn_Click" />
</ContentTemplate>
</asp:UpdatePanel>
希望这是有帮助的