我做了一个新闻发布系统,遇到了一个更新的问题,我是用了一个框架,如下: 
    <frameset rows="68,*" cols="*" frameborder="NO" border="0" framespacing="0">
   <frame src="Admin_Index_Top.aspx" name="top" scrolling="NO" noresize >
   <frameset rows="*" cols="170,*" frameborder="NO" border="0" framespacing="0">
     <frame src="Admin_Index_Left.aspx" name="left" scrolling="NO" noresize>
     <frame src="Admin_Index_Mainx.aspx" name="main" scrolling="auto">
   </frameset>
</frameset>
“left”这边是一个树菜单,比如:
新闻类别下有:
今日网谈
焦点网谈
“main”这边是一个添加,新闻类别页面,我在里面添加了一个新类别,但“left”那边不会自动显示出来,要刷新一下才能显示出来,有没有什么办法,能让我添加完类别后“left”那边就自动更新拉?
我的添加类别的代码:
    protected void Button1_Click(object sender, EventArgs e)
    {
        try
        {
            OleDbConnection con = new OleDbConnection(conString);
            con.Open();
            OleDbCommand cmd = new OleDbCommand("insert into News_Menu (Name) values('" + this.txtNewsclass.Text + "')", con);
            cmd.ExecuteScalar();
            Response.Write(" <script> alert(\"提示:'" + txtNewsclass.Text + "' <br> 添加成功!\"window.parent.window.frames['left'].location.reload();); </script> ");
            
        }
        catch (Exception ex)
        {
            Response.Write(ex.Message);
        }
    }
这句Response.Write(" <script> alert(\"提示:'" + txtNewsclass.Text + "' <br> 添加成功!\"window.parent.window.frames['left'].location.reload();); </script> ");虽然能成功,但是要弹出对话框后,点确定,才能成功,我想要那种不弹出对话框,而是跳转到另一页面,左边的框架里的内容也能刷新的那种
比如:
 OleDbConnection con = new OleDbConnection(conString);
            con.Open();
            OleDbCommand cmd = new OleDbCommand("insert into News_Menu (Name) values('" + this.txtNewsclass.Text + "')", con);
            cmd.ExecuteScalar();
            Response.Write(" <script>window.parent.window.frames['left'].location.reload();</script> ");
            Response.Redirect("AddclassOK.aspx");
            con.Close();
我把那句改写成这样Response.Write(" <script>window.parent.window.frames['left'].location.reload();</script> ");但是没有效果
麻烦大家在帮哈忙!不好意思哈,分不够了,今天遇到了太多了问题了,分都用完了,以后等我有分了我在追加哈!
请各位帮忙!

解决方案 »

  1.   


        Response.Write("  <script> window.parent.window.frames['left'].location.reload(); </script>  "); 
                Response.Redirect("AddclassOK.aspx"); '改成
        Response.Write("  <script> window.parent.window.frames['left'].location.reload(); location.href='AddclassOK.aspx';</script>  "); 
    因为你的Redirect这个语句会忽略上面的js脚本的运行的。
      

  2.   

    Response.Write("  <script> window.parent.window.frames['left'].opener.location.reload(); location.href='AddclassOK.aspx';</script>  "); 
      

  3.   

    Page.RegisterClientScriptBlock(DateTime.Now.ToString(),"<script>  window.parent.window.frames['left'].opener.location.reload(); location.href='AddclassOK.aspx'; </script>");