【问题标题】:Block an asp:Button OnClick event in C# from the OnClientClick event in JavaScript?从 JavaScript 中的 OnClientClick 事件阻止 c# 中的 asp:Button OnClick 事件?
【发布时间】:2013-02-11 10:24:06
【问题描述】:

我的网页上有一个asp:Button,它调用了一个 JavaScript 函数和一个代码隐藏方法。后者调用导航到另一个页面。在 JavaScript 函数中,我正在检查一个条件。如果不满足此条件,我想中止导航,以便不调用 OnClick 方法。这可能吗?

<asp:Button OnClick="Button_Click" ID="Action1" OnClientClick="SaveValues()"
    Text="Action1" CssClass="specialButton" runat="server" />

【问题讨论】:

    标签: c# asp.net button onclick onclientclick


    【解决方案1】:

    要阻止OnClick 执行,只需从OnClientClick 返回false

    <asp:Button OnClick="Button_Click" ID="Action1" OnClientClick="return SaveValues();"
        Text="Action1" CssClass="specialButton" runat="server" />
    

    假设SaveValues 也将返回一个布尔值,无论条件是否满足。

    【讨论】:

    • 工作就像一个魅力,谢谢。由于来源和时间而标记为答案。
    【解决方案2】:

    是的,有可能

    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" />
    

    【讨论】:

      【解决方案3】:

      返回truefalse,根据JavaScript是否成功,应该阻止或启用按钮提交。因此,不要只在 OnClientClick 的末尾添加它,您必须对其进行条件化并立即使您的调用看起来更难看,而是让该方法指示其运行状态。

      【讨论】:

        猜你喜欢
        • 2012-10-25
        • 2021-02-27
        • 1970-01-01
        • 1970-01-01
        • 2017-12-18
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-11-02
        相关资源
        最近更新 更多