我的起始页是Index.htm,里面包含三个框架Head、Left、Right,三个框架分别对应a.aspx、b.aspx和c.aspx。奇怪的是,有时启动时Index.htm打开后,又在前端打开了b.aspx页面。请问各位,如何在打开时只启动Index.htm页面?

解决方案 »

  1.   

    又在前端打开了b.aspx页面楼主的框架的代码是怎么写的?frameSet,还是iframe
      

  2.   

    Private Sub DropDownListFilter_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles DropDownListFilter.SelectedIndexChanged
            Dim strURL As String
            '根据下拉列表框选中内容更新树型页面
            strURL = "NavigateTreeView.aspx?TreeName=" & Trim(DropDownListFilter.SelectedItem.Text) & "&TreeParentID=" & Trim(DropDownListFilter.SelectedValue)
            strURL = "<script language=javascript>window.open('" & strURL & "','Left')</script>"
            Response.Write(strURL)End Sub这段代码是在a.aspx页中实现的!
      

  3.   

    抱歉,我实际的页面用到了框架嵌套:Index.htm分上下框架Head、Main,框架Head对应页面a.aspx;框架Main对应页面main.htm,其中有框架Left、Right,分别对应b.aspx和c.aspx,我想在页面a.aspx中传参给页面b.aspx,就出现这种情况。
    请各位打下不吝赐教!谢谢!Index.htm中框架代码:
    <frameset border="0" frameSpacing="0" rows="100%" frameBorder="0">
      <FRAMESET border="0" rows="44,92%" frameBorder="0">
        <FRAME src="HeadPage.aspx" noResize scrolling="no" name="Head">
        <FRAME name="Main" src="Main.htm">
      </FRAMESET>
      <noframes>
      </noframes>
    </frameset>
    Main.htm中框架代码:
    <FRAMESET border="5" borderColor="#000066" frameBorder="1" cols="229,70%" frameSpacing="5"
    style="BACKGROUND-COLOR: transparent">
      <FRAME name="Navigate" src="NavigateTreeView.aspx">
      <FRAME name="content" src="Input.aspx">
    </FRAMESET>
      

  4.   

    谢谢 swordragon(古道热肠) 的关注!
      

  5.   


    strURL = "<script language=javascript>window.open('" & strURL & "','Left')</script>"替换为:
    strURL = "<script language=javascript>window.open('" & strURL & "','Navigate')</script>"
    即可。主要是因为没有找到名字叫“Left”的窗口,所以就新打开了一个页面,名字叫Left。
    希望能解决你的问题!!!
      

  6.   

    改过了,还是出现问题!
    我觉得问题好像出在window上,因为此时的window指的是a.aspx,好像无法确定框架Left和Right的位置,但我却不知怎么修改!
    您看呢?
      

  7.   

    我想和window指向的是谁都没有关系的,主要还是没有找到所要打开的窗口。原因可能是在open的时候,'Navigate'这个窗口还没有创建,先创建的时a.aspx所在的窗口。我再看看还有没有别的办法吧。
      

  8.   

    你说得很对,我后来曾改为window.parent.frames(1).frames(0).location=strUrl时,好像就没有frame(0)指的对象!好,小弟先谢了!
      

  9.   

    1、在HeadPage.aspx的PageLoad事件中,追加:
    C#:
    DropDownList1.Attributes.Add("onchange","openWindow(this);");
    VB:
    DropDownList1.Attributes["onchange"] = "openWindow(this);";
    (由于我使用的C#,对VB不是很熟,写错了不要见怪!)2、在NavigateTreeView.aspx中,追加:
    <script language="javascript">
    function openWindow(objDL)
    {
        var strUrl = "NavigateTreeView.aspx?TreeName=" + objDL.options[objDL.selectedIndex].text + ""&TreeParentID=" + objDL.options[objDL.selectedIndex].value;
        window.open(strUrl,"Navigate");
    }
    </script>3、注释掉
    Private Sub DropDownListFilter_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles DropDownListFilter.SelectedIndexChanged中的代码;这样做的话,就不会再刷新是弹出另外一个窗口了。----------------------------------------我之所以不太喜欢服务器控件,就是因为它的回调事件。你的这种现象,都是回调事件引起的。
      

  10.   

    我刚才试了一试,你给的方法能避免弹出b.aspx,但是我要的效果区没有了!
    其实我是想在初始化页面时,根据a.aspx中下拉列表框中选中的内容,来更新b.aspx中树型控件的内容。你的方法添加了下拉列表的事件以及响应过程,但在初始化页面时却没有执行响应过程。
      

  11.   

    初始化的时候是不会自动触发DropDownListFilter_SelectedIndexChanged事件的,你是通过手工设置下拉列表框中选中的内容来实现的吧。
      

  12.   

    是的,初始化的时候是不会自动触发DropDownListFilter_SelectedIndexChanged事件,我是执行以下两行:
    DropDownListFilter.SelectedIndex = 1
    DropDownListFilter_SelectedIndexChanged(DropDownListFilter, e)
    实现对树型控件的初始化的。我想过了,你的方法只要在初始化是执行一下就可以了!
    不过,好像还不行,在最初执行时,'Navigate'窗口好像还没创建呢?
    郁闷!
      

  13.   

    swordragon(古道热肠)大侠,不知我说得是否有道理!
      

  14.   

    这样吧,你在NavigateTreeView.aspx中直接初始化tree可以吗?
    类似以下的代码可以实现:
    var treeview1;
    var treenode1;//得到tree对象
    treeview1 = window.contents.document.getElementById("TreeViewMenu");
    //根据节点的索引取得节点(0.0代表的是第一个父节点的字节点)
    treenode1 = treeview1.getTreeNode("你需要初始的TreeParentID的索引");
    //打开指定的节点
    treenode1.setAttribute("expanded","true");
    //指向指定的节点
    treeview1.selectedNodeIndex("0.0");由于我这里没有树,所以,你就仿照例子写吧。
    tree的节点索引是从0开始的:
    0
      --0
         --0
         --1
      --1
         --0
         --1
    1
      --0
    ...
      

  15.   

    好,我再试试看,谢谢 swordragon(古道热肠) 的关注!
      

  16.   

    我是个菜鸟,希望成为朋友!我的MSN:[email protected],有问题还要向你请教!