我的网站根目录下面有一个Iframe_right.master母板页。其中有以下代码<div id="welcome">
<asp:Label ID="lblUser" CssClass="roleCss" runat="server" Text=""></asp:Label>
<asp:LinkButton ID="lbtnExit" CssClass="exit" Text="退出系统" runat="server"
onclick="lbtnExit_Click"></asp:LinkButton>
</div>
<div id="masterContent">
<asp:ContentPlaceHolder id="ContentPlaceHolder1" runat="server">
</asp:ContentPlaceHolder>
</div>后台部分protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
if (Session["user"] != null)
{
lblUser.Text = "欢迎您!" + Session["user"].ToString();
}
else
{
lblUser.Text = "您还没有登录!";
lbtnExit.Text = "登录";
}
}
}
/// <summary>
/// 退出系统
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void lbtnExit_Click(object sender, EventArgs e)
{
Session.Clear();
//因为有框架,所以用JS跳转
Response.Write("<script>this.parent.location='Login.aspx'</script>");//Login.aspx也位于网站根目录下
}问题是,我现在网站的根目录下有一个文件夹user,里面有一个页面a.aspx,而且引用了Iframe_right.master母板页。但在a.aspx页面点击“退出系统”,显然this.parent.location='Login.aspx'跳转不成功。要变成this.parent.location='../Login.aspx'才行。但我可能在其它文件夹的页面还会用到这个母板页,请问能不能实现我这个需求(跳转到Login.aspx页面)?如果不行,有没有其它的代替方案?谢谢!
<asp:Label ID="lblUser" CssClass="roleCss" runat="server" Text=""></asp:Label>
<asp:LinkButton ID="lbtnExit" CssClass="exit" Text="退出系统" runat="server"
onclick="lbtnExit_Click"></asp:LinkButton>
</div>
<div id="masterContent">
<asp:ContentPlaceHolder id="ContentPlaceHolder1" runat="server">
</asp:ContentPlaceHolder>
</div>后台部分protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
if (Session["user"] != null)
{
lblUser.Text = "欢迎您!" + Session["user"].ToString();
}
else
{
lblUser.Text = "您还没有登录!";
lbtnExit.Text = "登录";
}
}
}
/// <summary>
/// 退出系统
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void lbtnExit_Click(object sender, EventArgs e)
{
Session.Clear();
//因为有框架,所以用JS跳转
Response.Write("<script>this.parent.location='Login.aspx'</script>");//Login.aspx也位于网站根目录下
}问题是,我现在网站的根目录下有一个文件夹user,里面有一个页面a.aspx,而且引用了Iframe_right.master母板页。但在a.aspx页面点击“退出系统”,显然this.parent.location='Login.aspx'跳转不成功。要变成this.parent.location='../Login.aspx'才行。但我可能在其它文件夹的页面还会用到这个母板页,请问能不能实现我这个需求(跳转到Login.aspx页面)?如果不行,有没有其它的代替方案?谢谢!
protected void lbtnExit_Click(object sender, EventArgs e)
{
Session.Clear();
//因为有框架,所以用JS跳转
Response.Redirect("~/Login.aspx");
}
Login.aspx里面加一段<script>
if(window!=top) top.location.href=window.location.href;
</script>也可以的
你的方法可以跳出来,我说的是【Steven-徐】,呵呵~
顺便请教一下,那个JS什么意思?为什么是放在Login.aspx页面的
可是我的login.aspx页面没有嵌套啊,只是其它页面(例如a.aspx)用到了Iframe_right.master母板页,a.aspx才放到一个框架中。我要从a.aspx退出框架到login.aspx。别见笑,现在还不太理解~
不是要你把孟老师代码里面的换了。
嗯,试过了,跳不出来。Response.Write("<script>this.parent.location='~/Login-3-23.aspx'</script>");//因为这用到JS,这样写地址栏后半部分会变成/~/Login.aspx
用完整路径:比如 http://www.xxx.com/Login.aspx
嗯~HTML没有这个的。谢谢!给你结帖了~