簡體   English   中英

如何從asp.net中的代碼隱藏運行確認對話框

[英]How to run confirm dialog from codebehind in asp.net

我想從后面的代碼運行確認對話框。 我搜索了google,發現的只有預定義的消息以及確認對話框鏈接到按鈕onclick事件的地方。 我無法將我的確認對話框鏈接到onclick事件,因為我需要在代碼隱藏中檢查場景並詢問用戶是否要繼續。

我有一個按鈕和大約10個不同的場景(每個場景都有不同的問題),我想問用戶是否要繼續。 如果他按OK,則我要繼續我的代碼,否則我要取消。

我創建了一些JavaScript函數

<script type="text/javascript">
    function Confirm() {
        var hidden = document.getElementById("<%=HiddenField1.ClientID %>");
        if (confirm("Test?")) {
            hidden.value = "ok";
            window.location.replace("PrijavaIzpit.aspx");
        } else {
            hidden.value = "cancel";
        }
    }
</script>

我從后面的代碼中調用

Page.ClientScript.RegisterStartupScript(GetType(), "msgbox", "Confirm();", true);

但是問題是,如果我在調用javascript函數的行之后放回車return ,則此代碼只會運行。

這是正確的主意嗎? 我應該怎么做? JavaScript可能嗎?

Vitor是正確的,請使用AJAX來調用ASP.NET代碼隱藏頁。 由於您上面沒有任何實際的AJAX代碼,因此,我只是將您指向Dave Ward的精彩頁面 ,在那里我學習了如何使用jQuery進行AJAX。 我鼓勵您閱讀他正在進行的文章,有關如何將jQuery與ASP.NET一起使用,特別是當他談到使用數據傳輸對象(基本上是JSON.stringified JavaScript對象,該對象在代碼隱藏的[WebMethod]上反序列化時)特別有用。完成后,回調函數就會提供您要查找的數據)。

您沒有提到是否使用jQuery,但是如果您使用的是jQuery,則可以直接修改他的方法,如果您使用的是純JS,則必須弄清楚如何以這種方式進行AJAX調用。 這並不難,只是更加令人費解。

您可能還會發現此解答很有幫助。

或對於問題的另一種看法, 此SO答案

在Web應用程序場景中,您無法從代碼后面運行確認對話框。 在客戶端,使用javascript對服務器端進行ajax調用以檢查場景,然后在ajax回調中繼續與用戶進行交互。

暫無
暫無

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

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