首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

关于弹出对话框的有关问题

2013-04-20 
关于弹出对话框的问题用了一个弹出对话框的类,但是遇到了一个郁闷的问题,问题就在window.alert( + strMs

关于弹出对话框的问题
用了一个弹出对话框的类,但是遇到了一个郁闷的问题,问题就在window.alert('" + strMsg + "');这句上,弹出对话框后页面一片白,加了history.back()也不行,还是一片白,为什么不能像ASP那样后退回原页面呢?另外顺便问一下System.Web.UI.Page page这个参数我应该怎么赋值呢?


    public class ShowMessage
    {
        public ShowMessage()
        {
            //
            // TODO: 在此处添加构造函数逻辑
            //
        }
        public static void ShowMsg(string strMsg)
        {
            System.Web.HttpContext.Current.Response.Write("<Script Language='JavaScript'>window.alert('" + strMsg + "');history.back();</script>");
        }
        public static void ShowMsg(System.Web.UI.Page page, string strMsg)
        {
            page.Response.Write("<Script Language='JavaScript'>window.alert('" + strMsg + "');</script>");
        }
        public static void ShowMsg(string strMsg, string Url)
        {
            System.Web.HttpContext.Current.Response.Write("<Script Language='JavaScript'>window.alert('" + strMsg + "');window.location.href ='" + Url + "'</script>");
        }
        public static void ShowMsg(System.Web.UI.Page page, string strMsg, string Url)
        {
            page.Response.Write("<Script Language='JavaScript'>window.alert('" + strMsg + "');window.location.href ='" + Url + "'</script>");
        }
        public static void ShowConfirm(string strMsg, string strUrl_Yes, string strUrl_No)
        {
            System.Web.HttpContext.Current.Response.Write("<Script Language='JavaScript'>if ( window.confirm('" + strMsg + "')) {  window.location.href='" + strUrl_Yes +
                              "' } else {window.location.href='" + strUrl_No + "' };</script>");
        }
    }

[解决办法]
ShowMsg你是在页面后台调用的吧,所以System.Web.UI.Page page参数传this即可

ShowMessage.ShowMsg(this,"hello");


你试试下面这个,看看是不是还是一片空白



 public static void ShowMsg(System.Web.UI.Page page, string strMsg)       
 {
 page.ClientScript.RegisterStartupScript(page.GetType(), "MsgBox", string.Format("<script>alert('{0}');</script>", strMsg));
}





[解决办法]
一片白,可能是输出的内容太多了或者含有一些特殊的字符,你调试下输出的内容就清楚了嘛
[解决办法]
可能是输出的内容太多了或者含有一些特殊的字符?
你需要进行替换

比如
strMsg = strMsg.Replace("\r","\\r").Replace("\n","\\n").Replace("\'","&apos;")
ShowMessage.ShowMsg(strMsg )
[解决办法]
用这个封装可行,我现在在用。

protected void ShowMsg(string msg)
{
   ClientScript.RegisterClientScriptBlock(this.GetType(), "alert", "alert('" + msg + "')", true);
}

热点排行