void Application_Error(object sender, EventArgs e) 
    {
if (Session["id"] == null)
       {
          
           HttpContext.Current.Response.Write("<script type='text/javascript'>alert('连接超时');location.href=\'Default.aspx\';</Script>"); 
     }
总是提示常量中有换行符
用过这几种方法倒是不提示了
 第一种 StringBuilder sb = new StringBuilder();
            sb.Append("<script language=\"text/javascript\"> \n");
            string str = "lianjiechaoshi ~~~~";
            sb.Append("alert(\"" + str.Trim() + "\"); \n");
            string url = "Default.aspx";
            sb.Append("window.location.href=\"" + url.Trim() + "\";\n");
            sb.Append("</ script>");
            System.Web.HttpContext.Current.Response.Write(sb.ToString());
        }
第二种    HttpContext.Current.Response.Write("<script type='text/javascript'>alert('连接超时');location.href=\'Default.aspx\';</Scr"+"ipt>"); 但是代码就不起作用了啊!!!!!!
报错的信息是未将对象引用到实例?很奇怪在线等~~~~各位高手帮帮忙啊!

解决方案 »

  1.   

     void Application_Error(object sender, EventArgs e) 
        {
    if (Session["id"] == null)
           {
              
               HttpContext.Current.Response.Write("<script type='text/javascript'>alert('连接超时');location.href=\'Default.aspx\';</Script>"); 
         }---------------------
    不用\',直接用单引号,如下:
     void Application_Error(object sender, EventArgs e) 
        {
    if (Session["id"] == null)
           {
              
               HttpContext.Current.Response.Write("<script type='text/javascript'>alert('连接超时');location.href='Default.aspx';</Script>"); 
         }
      

  2.   

    改一下:
    =\'Default.aspx\'    ->   ='Default.aspx'
      

  3.   


    HttpContext.Current.Response.Write("<script type='text/javascript'>alert('连接超时');window.location='Default.aspx';</Script>");
      

  4.   

    发错了  页面上直接是单引号  报错的地方就是</script>这个地方  提示是常量中有换行符
      

  5.   

    "<script type='text/javascript'>alert('连接超时');location.href=\'Default.aspx\';</Script>"
    前面的script是小写,后面的是大写
      

  6.   

    <script type='text/javascript'>alert('连接超时');location.href=\'Default.aspx\';</Script>"
    一个大写,一个小写,不一致呀
      

  7.   

    貌似是跟Global.asax文件上的<script runat="server">自动匹配了,让文件尾的</script>实效了,
    应该是转义符的问题,但是我不知道怎么解决!!
      直接用HttpContext.Current.Response.Redirect("Default.aspx")都可以实现,
    就是想在重定向的时候加个弹出对话框就卡在那了 , 郁闷了好久啊~~~
      各位高手帮帮忙啊~~~~~~怎么在Global.asax文件里正确实现 提示对话框,然后跳转嘛~~~~~急啊!!!!
      

  8.   

     HttpContext.Current.Response.Write("<script type='text/javascript'>alert('连接超时');window.location='Default.aspx';</script>");
    错误是该应用程序中的文件无效
      

  9.   

    未将对象设置到实例错误  是session.tostring()的问题,修改后就不报错了。
    在Global.asax的session_start或Application_Error中跳转可以实现
     if (Session["id"] == null)
          {
             
                  HttpContext.Current.Response.Redirect("Default.aspx");
          }但是想要弹出对话框的这段代码倒是没有报错了
     HttpContext.Current.Response.Write("<script type='text/javascript'>alert('连接超时');window.location='Default.aspx';<///script>");
    就是对话框始终没有出来。
    放弃了,我还是在page_load里写吧。
    自己总结一下,结贴了。
    谢谢各位的热心帮助,非常感谢!