0

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

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 上却不行。

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

没办法解决。

有任何想法吗 ??

4

1 回答 1

0

我是否理解这在您的 IIS 中可以正常工作localhost?您是否可能有此应用程序的先前版本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\
  • (...)
于 2013-04-08T11:20:20.523 回答