我的代码:
    <iframe runat="server" id="iFrame1" src="default2.aspx"  scrolling="no" border="0" frameborder="0" onload="this.height=iFrame1.document.body.scrollHeight; this.width=iFrame1.document.body.scrollWidth;"></iframe>直接报错:
“/”应用程序中的服务器错误。
--------------------------------------------------------------------------------编译错误 
说明: 在编译向该请求提供服务所需资源的过程中出现错误。请检查下列特定错误详细信息并适当地修改源代码。 编译器错误消息: BC30456: “this”不是“ASP.hysite_admin_default_aspx”的成员。如果我把iframe中的runat="server"去掉,就能正常显示页面。这种情况怎么处理?

解决方案 »

  1.   


    onload="this.height=iFrame1.document.body.scrollHeight; this.width=iFrame1.document.body.scrollWidth;"要写在
    default2.aspx页面里。
      

  2.   

    如果是这样的话,default2.aspx加载时报javascript错误:iFrame1未定义
      

  3.   

    可以这样试试:
    前台:
     <iframe runat="server" id="iFrame1" src="default.aspx"  scrolling="no" border="0" frameborder="0" > </iframe> 后台:
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                iFrame1.Attributes.Add("onload", "this.height=iFrame1.document.body.scrollHeight; this.width=iFrame1.document.body.scrollWidth;");
            }
        }
      

  4.   

     
    在页面加这个,
    <script type="text/javascript" defer="defer">
    iFrame1.height=iFrame1.document.body.scrollHeight;
    </script>