.Net中使用无闪刷新控件时提示框不显示

时间:2022-01-18 17:14:17

今天做提示框的时候一直不显示,让我郁闷好久,晚上吃饭的时候问了同事一下,他给了一个思路,

他说可能是因为由于页面中的无闪刷新导致的结果;百度了一下真找到了解决方法

在页面中存在无闪刷新控件的时候提示框不能在用普通的,要特殊的处理一下;

/// <summary>  
        /// 显示提示信息(用于页面中存在无闪刷新控制的提示)  
        /// </summary>  
        /// <param name="controlName">无闪刷新控件名称</param>  
        /// <param name="message">消息内容</param>  
        public static void UserControlMessageShow(Control controlName, string message)
        {
            ScriptManager.RegisterClientScriptBlock(controlName, typeof(UpdatePanel), "提示", "alert('" + message + "');", true);
        }

普通的提示框:

/// <summary>
        /// 显示提示信息
        /// </summary>
        /// <param name="page">页面对象</param>
        /// <param name="msg">消息</param>
        public static void MessageShow(System.Web.UI.Page page, string message)
        {
            if (message == null || message == String.Empty)
                return;
            message = ToJsString(message);
            string js = "<script>alert('" + message + "');</script>";

page.ClientScript.RegisterClientScriptBlock(page.GetType(),"append_message", js);
        }

还有另一种“用户控件”的提示框:

1.方法一

/// <summary>
        /// 显示提示信息
        /// </summary>
        /// <param name="page">页面对象</param>
        /// <param name="msg">消息</param>
        public static void UserControlMessageShow(System.Web.UI.UserControl userControl, string message)
        {
            if (message == null || message == String.Empty)
                return;
            message = ToJsString(message);
            string js = "<script>alert('" + message + "');</script>";

userControl.Page.ClientScript.RegisterClientScriptBlock(userControl.Page.GetType(), "append_message", js);
        }

2.方法二

/// <summary>
        /// 显示提示信息
        /// </summary>
        /// <param name="page">页面对象</param>
        /// <param name="msg">消息</param>
        public static void UserControlMessageShow(System.Web.UI.UserControl userControl, string message, string goPage)
        {
            if (message == null || message == String.Empty)
                return;
            message = ToJsString(message);
            StringBuilder sb = new StringBuilder();
            sb.Append("<script>");
            sb.AppendFormat("alert('{0}');", message);
            sb.AppendFormat("window.location.href='{0}';", goPage);
            sb.Append("</script>");

userControl.Page.ClientScript.RegisterClientScriptBlock(userControl.Page.GetType(), "append_message", sb.ToString());
        }