location.href在框架中的使用target,如果只是简单的设置location.href="",会使得整个页面显示在子框架中,导致出现重叠框架。

解决办法:

window.top.framename.location.href = url;

window.parent.location.href=url;

mainframe.location.href=url;


下面是框架架构:

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="frame_index.aspx.cs" Inherits="common_frame_index" %>

<%@ Import Namespace="CommonLayer" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head runat="server">

    <title>

        <%= CommonClass.ProjectName %></title>

        <link rel="shortcut icon" href="/images/favicon.ico" type="image/x-icon" />

</head>

<frameset rows="67,*,25" cols="*" frameborder="no" border="0" framespacing="0" vertical-align="middle;">

  <frame src="frame_top.aspx" name="topFrame" scrolling="no" noresize="noresize" id="topFrame"   />

  <frameset cols="209,7,*" frameborder="no" border="0"  framespacing="0" name= "mainContentFrame" id = "mainContentFrame" >

        <frame src="frame_left.aspx" name="leftFrame" scrolling="auto"  id="leftFrame"  noresize="noresize" />

        <frame src="frame_center.html" name="CenterFrame" id="CenterFrame" title="CenterFrame" />

            <frame src="frame_content.aspx" name="main" id="main" scrolling="yes" frameborder="no" noresize="noresize"/>

        </frameset>

   <frame src= "frame_bottom.aspx" name="bottom" scrolling="no" noresize="noresize" id="bottom" title="bottom" />

</frameset>

</html>