首页Default.aspx.....版块导航LeftNav.aspx(就和csdn一样的效果,左上有个用户控件UserLogin.ascx)
<frameset id="sidebar_content" cols="230, *" frameborder="1" border="6" framespacing="5"
    bordercolor="#A1C7F9">
   <frame name="LeftNavFrame" src="LeftNav.aspx" scrolling="no" frameborder="1" />
   <frame name="MainFrame" src="TopicList.aspx"  frameborder="1" margwidth="30" />
    </frameset>TopicList.aspx(帖子列表)也有个userLogin.ascx假如现在我在浏览其中一个版块,点击登录按钮后1:返回登录前这个版块并且2:刷新整个框架,保证框架上左右2个子页用户状态都能正确显示
如果这2点只完成其中一点还好办,那怎么同时实现这2点??

解决方案 »

  1.   

    javascript就可以实现啊
    parent.window能返回到frameset
    然后你需要刷新那个页面
    后面再跟上具体的frame.location.href=URL
    页面就跳转了
      

  2.   

    可以用cookie保存那个之前访问的版块url,更改板块时也改变这个cookie,
    在MainFrame页面里,加入代码看有没有这个cookie,有就按照cookie跳转url,没有就显示默认url
      

  3.   

    在网上查了资料,回到登录前的页面可以使用隐藏域存储url 登录后response.Redirect(url),这样的话左边的框架用户状态显示无更改
    要手动F5 
    怎么同时刷新版块?
      

  4.   

    谢谢2楼搞定了
     <frame name="MainFrame" src="<#=src#>"  frameborder="1" margwidth="30" />
     public string src;
        protected void Page_Load(object sender, EventArgs e)
        {
            HttpCookie url = Request.Cookies["url"];
            if (url != null)
            {
                src = url.Values["url"];//转到登录前的页面
            }
            else
            { src = "NewWestTopic.aspx"; }//转到默认的url
           
        }
    登录按钮事件添加 HttpCookie url = new HttpCookie("url");
                            url.Values["url"] = Request.UrlReferrer.ToString();
                            Response.Cookies.Add(url);
    贴出来,给遇到相同问题的朋友一个参考