簡體   English   中英

在C#中的按鈕OnClick事件之間調用javascript

[英]Call javascript in between a button OnClick event in 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會在提供Submit事件並發送郵件后得到調用。 如果我添加一個返回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" />

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM