Заблокировать событие asp:Button OnClick в C# из события OnClientClick в JavaScript?
У меня есть asp:Button
на моей веб-странице, и он вызывает функцию JavaScript и метод с выделенным кодом. Последний звонит, чтобы перейти на другую страницу. В функции JavaScript я проверяю условие. Если это условие не выполняется, я хочу прервать навигацию, чтобы OnClick
метод не вызывается. Это возможно?
<asp:Button OnClick="Button_Click" ID="Action1" OnClientClick="SaveValues()"
Text="Action1" CssClass="specialButton" runat="server" />
3 ответа
Блокировать OnClick
от выполнения, просто верните false
от OnClientClick
:
<asp:Button OnClick="Button_Click" ID="Action1" OnClientClick="return SaveValues();"
Text="Action1" CssClass="specialButton" runat="server" />
При условии, что SaveValues
также вернет логическое значение, независимо от того, было ли выполнено условие.
Да, это возможно
function SaveValues()
{
if(//check your codition here)
{
return true;
}
else
{
return false;
}
}
<asp:Button OnClick="Button_Click" ID="Action1" OnClientClick="javascript:return SaveValues();" Text="Action1" CssClass="specialButton" runat="server" />
Возврате true
или же false
В соответствии с успехом JavaScript, следует запретить или включить кнопку отправки. Таким образом, вместо того, чтобы просто прикрепить его в конце OnClientClick
там, где вам нужно было бы обусловить его и немедленно сделать ваш вызов более уродливым, позвольте методу указать его рабочее состояние.