这是给我网站根路径的属性
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('用户注册成功');”内部脚本标签??
无法解决。
任何想法??
答案 0 :(得分:0)
我是否明白这在localhost
的IIS中正常运行?您是否拥有alert()
此应用的先前版本,但没有window.location.replace()
?
听起来好像在该网站上托管的应用程序版本不正确/更新,并且显示过时的版本。否则,我看不出你的源的一部分是如何被包含的。
我会尝试清空与服务器上的应用程序相关的任何缓存和临时文件(DLL),然后清理,重建和重新发布它。
查找:在类似于以下内容的地方名为 Temporary ASP.NET Files
的文件夹,并清空它们(当然要注意不要删除临时文件以外的任何内容):< / p>