VS2005下使用Frame碰到的问题

1、如果Frame中页面是使用了AJAX,就可能会报一个JS错误:
Sys.ArgumentOutOfRangeException: Value must be an integer.
Parameter name: x
Actual value was NaN.
原因:
使用FrameSet或Iframe时,frame或iframe的frameborder属性应使用1 或 0,如:
frameborder="0"
而不能使用yes 或 no,如:
frameborder="no"

2、frame的Scolling="auto" 在HTML和XHTML下显示的样式不同
<frameset id="TotalFrameSet"  rows="80,*,25" frameborder="0">
        
<frame name="header" src="Controls/WscHeadForIFrame.aspx" scrolling="no" noresize marginWidth="0" marginHeight="0" frameBorder="0" LEFTMARGIN="0" TOPMARGIN="0">
        
<frameset id="mainFrame" cols="194,20,*" frameSpacing="1" frameBorder="0" MARGINWIDTH="0" MARGINHEIGHT="0" LEFTMARGIN="0" TOPMARGIN="0" noresize>
            
<frame name="contents" src="Controls/WscLeftMenuForIFrame.aspx" marginWidth="0" marginHeight="0" frameBorder="0" scrolling="no" LEFTMARGIN="0" TOPMARGIN="0">
            
<FRAME border="1" id="CtrlFrame" marginWidth="0" marginHeight="0" src="Controls/WSCCtrl.aspx"
                frameBorder
="0" scrolling="no" LEFTMARGIN="0" TOPMARGIN="0" noresize>
            
<frame name="main" src="<%=MainUrl%>" 
                scrolling
="auto" marginheight="0" marginwidth="0" borderColor="#ffffff" noresize frameBorder="0">
        
</frameset>
        
<frame name="footer" src="Controls/WscFootForIFrame.aspx" scrolling="no" noresize>
    
</frameset>

如果frame中的页面是:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
那么即使没出现滚动条,也会留下滚动条的空间,页面看起来比较好看

但是如果frame中的页面是:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
那么如果没出现滚动条,页面中的DataGrid就会紧贴到边上,很难看。


最后,不得不给每个页面Body加上Style:
<body style="margin-right: 20px;">


3、对象的height:100%不能用
网上找到了这位老兄的解释:颇为精辟 收藏

html,body{
margin:0px;
height:100%;
}

代码已经到了不能再简单的地步,同时设置了HTML与body的height:100%;,而这个就是高度自适应问题的关键所在。
分析:
一个对象高度是否可以使用百分比显示,取决于对象的父级对象,#left在页面中直接旋转在body之中,因此它的父级是body,而浏览器默认状态 下,是没有给body一个高度属性的,因此当我们直接设置#left为height:100%;时,不会产生任何效果,而当我们给body设置了100% 之后,它的子级对象#left的height:100%;便发生作用了,这便是浏览器解析规则引发的高度自适应问题。而代码中除了给body应用之外,还 给HTML对象也应用相同的样式设计,这样做的好处是使IE与firefox浏览器都能够实现高度自适应,而body却不是。另外,Firefox中的 HTML标签不是100%高度,因此给两个标签都定义为height:100%;以保证两个浏览器下均能够正常显示。

其它解决方案:
XHTML不支持height=100%
原文地址:https://www.cnblogs.com/songsh96/p/1091392.html