繁体   English   中英

使用从代码后面注入的javascript重定向无法正常工作

[英]redirecting with javascript injected from code behind not working

这是给我网站根路径的属性

public static string SiteRootPath
    {
        get
        {
            string host = HttpContext.Current.Request.Url.GetLeftPart(UriPartial.Authority);
            string appRootUrl = HttpContext.Current.Request.ApplicationPath;
            if (string.IsNullOrEmpty(appRootUrl) || appRootUrl == "/")
            {
                return host + "/";
            }
            else
            {
                return host + appRootUrl + "/";
            }
        }
    }

我喜欢这样

string path = EMS.DAL.DALHelper.SiteRootPath + "Home.aspx";

然后我这样做

string script = "<script language='javascript' >alert('User registered successfully');window.location.replace('" + path + "');</script>";
Page.RegisterStartupScript("alert", script);

这会将我重定向到主页,并且可以在localhost上正常运行,但不能在发布该站点的IIS上正常运行。

当我仅检查页面源时,会发现“警告('用户注册成功');” 内部脚本标签?

无法解决。

有任何想法吗 ??

我是否知道这可以在您localhost上的IIS中正常工作? 您是否可能具有此应用程序的早期版本,其中包含alert() ,但没有window.location.replace()

在我看来,似乎托管在该站点上的应用程序版本不正确/未更新,并且正在显示过时的版本。 否则,我看不到您的来源中有一部分没有被包含在内。

我会尝试清空与服务器上的应用程序相关的所有缓存和临时文件(DLL),然后清理,重建和重新发布它。

查找:在类似于以下内容的位置下找到名为Temporary ASP.NET Files夹,并将其清空(当然,请注意不要删除除临时文件以外的任何内容):

  • C:\\ Windows \\ Microsoft.NET \\ Framework64 \\ v2.0.50727 \\
  • C:\\ Windows \\ Microsoft.NET \\ Framework64 \\ v4.0.30319 \\
  • C:\\ Windows \\ Microsoft.NET \\ Framework \\ v4.0.30319 \\
  • (...)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM