各位大侠好:我现在的问题是:我的页面中分左右两个frame,需要在左边的frame中点击按钮后动态显示右边的frame,代码如下:
主页面中:(前台)
<frameset id="frameset2" rows="*" cols="200,*" framespacing="0" frameborder="no" border="0" >
    <frame src="test1.aspx"  runat="server" scrolling="auto" noresize="noresize" id="leftFrame" name="leftFrame"  title="leftFrame" />
    <frame src="Start.aspx" name="mainFrame" id="mainFrame" title="mainFrame" />
  </frameset>
在test1.aspx.cs中有个按钮button1,希望点击它改变“mainFrame”的src
代码如下:
  protected void Button1_Click(object sender, EventArgs e)
    {//前面一些工作,如需传递的参数
  Page.RegisterStartupScript("jsfun", "<script languge='javascript'>parent.document.getElementById('mainFrame').src='AssetUseRV.aspx';</script>");
  }结果点击后没反应,如果把那句JS代码放到onClientClick()中是可以的,但我需要做些工作后再转到那页面,不知问题出在哪里。

解决方案 »

  1.   

    改成这样试试:
    Page.ClientScript.RegisterStartupScript(Page.GetType(),"jsfun", "parent.document.getElementById('mainFrame').src='AssetUseRV.aspx';",true);
      

  2.   

    改变src为什么要刷新?
    如果一定要刷新 看看是不是刷新引起的
      

  3.   

    a = "parent.frames['a'].location.href='';" + Environment.NewLine;
    a += "parent.frames['b'].location.href='';";
    Page.ClientScript.RegisterStartupScript(Page.GetType(),"js",a,true);
      

  4.   

    楼上要这么写 起码加上contentWindow吧~
      

  5.   

    如果你用的是ajax控件的话 你的js就得封装一个类才行  直接这样写 貌似弹不出来
      

  6.   

    问题终于搞清楚了,其实我的写法和1#楼的写法都是可以的,只是我把那个按钮放在一个updatepanel中了,所以它不刷新updatepanel以外的东西,谢谢各位了。