[英]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.RegisterClientScriptBlock或ClientScriptManager .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.