我在aspx页面中使用过这个scriptmanager。
ScriptManager.RegisterStartupScript(this, this.GetType(), "Redit", "alert('Registered Successfully !!'); window.location='" + Request.ApplicationPath + "/admin/CreateSubAdmin.aspx';", true);
当我在本地服务器中使用它时,它正常工作。和网址看起来像:主机网址:xyz.aspx / admin / CreateSubAdmin.aspx
下划线部分位于管理部分。
但在服务器上这没有正常工作。它看起来像:/admin/CreateSubAdmin.aspx only。
但我希望它显示为www.xyz.com/admin/CreateSubAdmin.aspx。
所以我写错了。请帮助我。
提前致谢..
答案 0 :(得分:0)
您必须做的唯一事情是删除ApplicationPath
,或删除第一个斜杠。
ScriptManager.RegisterStartupScript(this, this.GetType(), "Redit",
"alert('Registered Successfully !!'); window.location='" + Request.ApplicationPath + "admin/CreateSubAdmin.aspx';", true);
或
ScriptManager.RegisterStartupScript(this, this.GetType(), "Redit",
"alert('Registered Successfully !!'); window.location='/admin/CreateSubAdmin.aspx';", true);
这里的问题是如何制作适用于您案例的完整网址。
您可以选择使用"http:" + Request.Url.Host
来构建它以获得完整的网址
答案 1 :(得分:0)
我使用这样的辅助函数:
public static string GetApplicationRoot()
{
string host = HttpContext.Current.Request.Url.GetLeftPart(UriPartial.Authority);
string applicationPath = HttpContext.Current.Request.ApplicationPath;
if (applicationPath == "/")
{
return host;
}
else
{
return host + applicationPath;
}
}