簡體   English   中英

在我的ASP.NET Web解決方案中返回true時,OnClientClick沒有傳遞給OnClick代碼

[英]OnClientClick not passing to OnClick code behind on return of true in my ASP.NET web solution

我已針對此問題遵循了一些解決方案建議,但是沒有任何工作正常。 我希望得到的結果是在成功返回true時在執行C#代碼落后方法之前觸發JavaScript驗證功能。 在執行JavaScript OnClientClick操作之后,應遵循OnClick。

我嘗試過此線程的建議:

從OnClientClick javascript函數返回true后,在方法后面執行OnClick代碼

以及此線程:

從OnClientClick javascript函數返回true后,在方法后面執行OnClick代碼

這是我當前的布局:

<asp:Button ID="btnAdd" runat="server" AutoPostBack="true" OnClick="btnAdd_Click" OnClientClick="btnAdd_Click(this, event);" Text="Add" UseSubmitBehavior="false"/>&nbsp;



    function btnAdd_Click(sender, args) {
        if(confirm('Do you want to do a server trip?'))
        {
            return true;
        }
        else
        {
            return false;
        }
    }

我也嘗試過:

<asp:Button ID="btnAdd" runat="server" AutoPostBack="true" OnClick="btnAdd_Click" OnClientClick="if (!Confirm()) return false;" Text="Add" UseSubmitBehavior="false"/>&nbsp;

function Confirm() {
    return confirm("Are you sure?");
}

我所看到的是JavaScript每次都會觸發。 調試JS證明它可以返回我的解決方案,因此OnClick應該會受到歡迎。 我的click事件背后的代碼有一個斷點,但它從未被擊中。 是否有網站設置或阻止此設置的措施?

非常感謝您的幫助。 提前致謝。

嘗試一下...您甚至根本不需要該JS函數。

<asp:Button ID="btnAdd" runat="server" OnClientClick="return window.confirm('Are you sure?');" Text="Add" OnClick="btnAdd_Clicked"/>


protected void btnAdd_Clicked(object sender, EventArgs eventArgs)
{
    string test = "12345";
}

如果調試btnAdd_Clicked函數,您將看到它到達了代碼的第一行。

暫無
暫無

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

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