关于母板页+框架的跳转
我的网站根目录下面有一个Iframe_right.master母板页。其中有以下代码
- HTML code
<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>
后台部分
- C# code
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页面)?如果不行,有没有其它的代替方案?谢谢!
[解决办法]
Response.Write("<script>top.location='" + Page.ResolveUrl("~/Login.aspx") + "'</script>");
转绝对地址即可