使用从后面的代码注入的javascript重定向无效

时间:2013-04-08 10:57:00

标签: c# javascript asp.net

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

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上却没有。

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

无法解决。

任何想法??

1 个答案:

答案 0 :(得分:0)

我是否明白这在localhost的IIS中正常运行?您是否拥有alert()此应用的先前版本,但没有window.location.replace()

听起来好像在该网站上托管的应用程序版本不正确/更新,并且显示过时的版本。否则,我看不出你的源的一部分是如何被包含的。

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

查找:在类似于以下内容的地方名为 Temporary ASP.NET Files 的文件夹,并清空它们(当然要注意不要删除临时文件以外的任何内容):< / p>

  • C:\的Windows \ Microsoft.NET \ Framework64 \ V2.0.50727 \
  • C:\的Windows \ Microsoft.NET \ Framework64 \ v4.0.30319 \
  • C:\的Windows \ Microsoft.NET \框架\ v4.0.30319 \
  • (...)