javascript - 在 C# 中的按钮 OnClick 事件之间调用 javascript

标签 javascript c#

我的网页上有一个带有 OnClick 事件的按钮。

<asp:TextBox ID="tbMailID" runat="server" Width="250px"></asp:TextBox>
<asp:Button ID="btnSubmit" runat="server" OnClick="btnSubmit_Click" Text="Submit" />

C# 代码:

protected void btnSubmit_Click(object sender, EventArgs e)
{
    bool IsGmail = CheckMailId(tbMailID.Text);
    if(!IsGmail)
    {
        string strScript = "confirm('Mail id is not from gmail, do you still want to continue?');";
        ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "strScript", strScript, true);
    }
    SendMail(); 
}

该页面接受文本框中的邮件 ID,并在提交时发送一封邮件。 但是,如果 mail-id 不是 gmail id(由 CheckMailId 验证),我想根据单击的是/否向用户显示一个确认框,以确定他/她是否想要接收邮件。

但是在提交事件处理完毕并发送邮件后,JavaScript 将被调用。 如果我添加一个 return SendMail() 将永远不会接到电话

ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "strScript", strScript, true);
return;

这里可能的解决方案是什么?

注意:发布的代码是我真实用例的简化版本。 CheckMailId - 只是一个显示的名称,它调用许多其他函数并执行少量数据库进程。因此,我想避免将其合并到 JavaScript 中。

最佳答案

您可以在事件之前调用脚本,如下所示:-

            <script type="text/javascript">
    function Confirm() {
       var yourstring = document.getElementById('<%= tbMailID.ClientID %>').value;
       if (/@gmail\.com$/.test(yourstring)) {
             return true;
               }
             else
              {
        if (confirm("Mail id is not from gmail, do you still want to continue?") == true)
            return true;
        else
            return false;
    }
       }
</script>

强文字

       <asp:Button ID="btnSubmit" runat="server" OnClientClick="return Confirm();" OnClick="btnSubmit_Click" Text="Submit" />

关于javascript - 在 C# 中的按钮 OnClick 事件之间调用 javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27060672/

相关文章:

c# - 如何使用 NPOI 获得非参差不齐的右列

javascript - 将 JavaScript 组件包含到 Blazor 组件中

c# - 查找未使用的功能?

c# - 带有服务总线的Azure功能: How to keep a message in the queue if something goes wrong with its processing?

javascript - 用于导入 commonjs/amd 模块的新 es6 语法,即 `import foo = require(' foo')`

c# - ASP.NET core project is not loading in Visual Studio 2015 Update 3解决方法

javascript - 通过 Javascript 或 PHP 将逗号分隔的数据从列转换为分隔行

javascript - android 4 上的 video.js requestFullScreen

javascript - 一页上多个div悬停效果

javascript - 使用 JavaScript 的 SEO 友好条件加载