[英]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
夹,并将其清空(当然,请注意不要删除除临时文件以外的任何内容):
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.