Я хочу отключить обратную передачу после нажатия <asp:Button>
. Я попытался сделать это, назначив onclick="return false"
, но в кнопке не работает.
Как я могу это исправить?
Я хочу отключить обратную передачу после нажатия <asp:Button>
. Я попытался сделать это, назначив onclick="return false"
, но в кнопке не работает.
Как я могу это исправить?
Я мог бы исправить это, используя UpdatePanel, который включает в себя задействованные элементы управления/элементы.
onClientClick="return false"
Это должно быть! Onclick
будет ссылаться на функцию ASP.net, onClientClick
будет отображаться как Onclick
на элементе управления в HTML.
onclick
используется для подключения событий на стороне сервера. Вам нужно использовать обработчик OnClientClick
, например <asp:button OnClientClick="return false;" />
Увидев, что ни один из этих ответов не помог мне. Я нашел решение. Вместо того, чтобы использовать кнопку ASP.NET <asp:Button>
, вы должны использовать кнопку HTML. Он отлично работал и выглядит точно так же, как кнопка ASP.NET. Чтобы получить кнопку HTML для отправки на стороне сервера, вы используете атрибут onserverclick
.
<input id="btnState" class="AddButtons" runat="server" type="button" value="Add State" onclick="swap('one', 'two');" />
Для моего кода я использовал JS для выполнения чего-то на стороне сервера. <asp:Button>
не прекратит делать сообщения, но, как я уже сказал, кнопка HTML исправила мою проблему. Пожалуйста, отметьте как ответ или проголосуйте, если это вам помогло.
Это сработало для меня вот так:
В <body>
:
function myfunction() {
return false;
}
и в <head>
:
<asp:ImageButton ID="ImageButton1" runat="server" Height="52px" Width="58px" OnClientClick="myfunction(); return false;"/>
Поскольку вы хотите сделать это после обратной передачи, я предполагаю, что вы хотите предотвратить обратную передачу двойного щелчка? В этом случае вам лучше всего иметь какую-то переменную сохранения состояния, которую вы устанавливаете после первого щелчка на стороне клиента. В качестве простого примера
var clicked = false;
function AllowOneClick(){
if(!clicked){
clicked = true;
return true;
}
return false;
}
Затем вы устанавливаете OnClientClick, чтобы вернуть этот результат метода на вашей кнопке, чтобы OnclientClick="return AllowOneClick()"
Это, конечно, будет работать только на одну кнопку, но это должно дать вам общую идею.
В моем случае ни одно из вышеперечисленных решений не работало для меня.
Я хотел сначала вызвать функцию на стороне клиента, а затем остановить обратную передачу на сервер. Моим решением было просто добавить ключевое слово return
перед вызовом моей клиентской функции, то есть:
<asp:Button Runat=Server OnClientClick="return fyFunction;">
Моя клиентская сторона script содержит return false
в последней строке кода.
с помощью UseSubmitBehavior = "false" вы можете отключить обратную передачу onclick
Используйте это: -
someID.Attributes.Add("onClick", "return false;");
Поместите вашу кнопку asp внутри панели обновления, например
<asp:UpdatePanel ID="updPnl" runat="server" UpdateMode="Conditional" RenderMode="Block">
<ContentTemplate>
<asp:Button ID="btnID" runat="server" OnClick="btn_Click" />
</ContentTemplate>
</asp:UpdatePanel>
Надеюсь, что это полезно