2017-11-20 2 views
0

Wie in der Blog, habe ich versucht, auf eine externe URL zu verweisen, wenn eine bestimmte Sitemap angeklickt wird.Acumatica Redirect beim Laden der Seite eine Warnung des Skripts

Es funktioniert gut, aber es ist eine Warnung des Skripts angezeigt, bevor es auf den angegebenen Link umleitet.

in der Seitenladung habe ich den folgenden Code hinzugefügt.

protected void Page_Load(object sender, EventArgs e) 
    { 
     System.Web.HttpContext context = System.Web.HttpContext.Current;   
     String reporturl = "Some URL"; 

      String url = string.Format("{0}/?BaseUrl={1}&User={2}&Company={3}", reporturl 
                       , HttpUtility.UrlEncode(baseURL) 
                       , HttpUtility.UrlEncode(PXAccess.GetUserLogin()) 
                       , companyid); 

      Boolean iscallback = context.Request.Form["__CALLBACKID"] != null; 
      Boolean isget = String.Equals(context.Request.HttpMethod, "GET", 
           StringComparison.InvariantCultureIgnoreCase); 
      Boolean ispost = String.Equals(context.Request.HttpMethod, "POST", 
           StringComparison.InvariantCultureIgnoreCase); 

      context.Response.Clear(); 
      if (iscallback) 
      { 
       context.Response.Write("eRedirect0:" + url); 
      } 
      if (isget || ispost) 
      { 
       context.Response.Clear(); 
       context.Response.Write("<script language=javascript>"); 
       context.Response.Write(String.Format("window.open(\"{0}\",\"{1}\");", url, "main")); 
       context.Response.Write("</script>"); 
      } 
      context.Response.Cache.SetNoStore(); 
      context.Response.Cache.SetNoServerCaching(); 
      context.Response.End(); 


    } 

Wenn ich auf die SiteMap klicke, wird automatisch eine Warnung wie unten angezeigt, bevor sie umgeleitet wird. Wie kann ich diese Warnung stoppen?

enter image description here

Antwort

0

Der folgende Code das Problem gelöst.

sonst if (isget || isPost)

if (iscallback) 
      { 
       context.Response.Write("eRedirect0:" + url); 
      } 
      else if (isget || ispost) 
      { 
       context.Response.Clear(); 
       context.Response.Write("<script language=javascript>"); 
       context.Response.Write(String.Format("window.open(\"{0}\",\"{1}\");", url, "main")); 
       context.Response.Write("</script>"); 
      } 
Verwandte Themen