簡體   English   中英

不顯示MessageBox Inside Updatepanel

[英]MessageBox Inside Updatepanel is not displayed

我使用的c#中的Messagebox代碼是以下代碼,根據我的要求有條件地調用。在使用Ajax更新面板時,在所有情況下都可以正常工作。 例如,我想提示用戶是否在網格視圖中未選中任何復選框,並帶有相應的消息,該代碼已執行但沒有消息框顯示

 public static void MessageBox(string message, Page page)
    {       
        if (!string.IsNullOrEmpty(message))
        {
            Label lbl = new Label();
            lbl.Text = "<script type=\"text/javascript\" language=\"javascript\">" + "alert('" + message + "'); " + "</script>";
            page.Controls.Add(lbl);
        }
    }

在使用更新面板時,請使用ScriptManager.RegisterClientScriptBlockClientScriptManager .RegisterClientScriptBlock方法添加腳本。

這里有一個例子

我也正在尋找相同的解決方案,因為我有同樣的問題。下面的方法對我來說就像@Sids建議的那樣。

ScriptManager.RegisterClientScriptBlock(myControl, myControl.GetType(), "msg", "alert('Success')", true);

好像您是將標簽直接添加到頁面上一樣。 對於完整的回發場景(您提到了),這將很好地工作,但是如果您不將其直接添加到UpdatePanel內部的某個位置,則不會在部分回發中將其寫入頁面。

您可以按照此處的建議進行操作

據我了解,UpdatePanel中的Ajax回發僅使用某些ASP.Net Ajax JavaScript魔術來操縱UpdatePanel中的HTML。 如果在更新的HTML內添加JavaScript代碼,則不會執行該代碼。

您為什么不使用CustomValidator來驗證您的復選框?

暫無
暫無

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

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