环境:VS2005 C#1.动态改变iframe内容不通过src属性://这段代码摘自网上,小弟的iframe是加了runat="server"属性的
<iframe   id="iframe"   width="300"   height="200"></iframe>   
  <script   language="javascript">   
  <!--   
  var   htmltext = "<html>.....</html>";   
  var   d   =   window.frames[0];   
  d.document.write(htmltext);   
  </script>可能有朋友会问:可以从后台调用JS啊?问题是小弟的htmltext是后台从数据库中取得的,所以上面代码需要转换成后台C#代码。
2.自动调整iframe高度以消除滚动条:
    <script type="text/javascript">
    function AutoIframe()
    {
        if(document.readyState!='complete')
        {
            setTimeout( function(){AutoIframe();},25 );
            return;
        }
        else
        {
           var ifobj=document.getElementById("oldhtml");
           ifobj.height= ifobj.contentWindow.document.body.scrollHeight;
        }
    }
   </script> 
<iframe width="99%" frameborder="0" id="oldhtml" runat="server" scrolling="no" marginheight="0" onload="AutoIframe()"></iframe>由于加上了runat="server"属性,因此执行时提示找不到AutoIframe,求后台C#代码解决办法。
希望能给出具体的代码,非常感谢!

解决方案 »

  1.   

    var If=document.createElement("iframe");
    If.style.height="100px";
    If.style.width="300px";
    If.id="iframe"+(++i);
    document.all("sp").appendChild(If);
    var doc1 = window.frames["iframe" + i].document; 
    doc1.write(" <HTML>test </HTML>"); 
      

  2.   

    楼上大哥,我要后台C#代码,您怎么还给我上JS呀
      

  3.   

    <script language="javascript"> 
    <!-- 
    var htmltext = <%=HtmlText%>
    var d = window.frames[0]; 
    d.document.write(htmltext); 
    </script>
    去掉runat="server"
    <iframe width="99%" frameborder="0" id="oldhtml"  scrolling="no" marginheight="0" onload="AutoIframe()"></iframe>
    后台代码:
    protected string HtmlText;//声明前台使用字段
    public void Page_Load(object sender,EventArgs e)
    {
       if(!IsPost)
       {
           HtmlText="......";//从数据库取值
       }
      

  4.   

    var htmltext =<%=HtmlText%>;上面的没显示出来,补充下
      

  5.   

    在iframe的src页面里面加个DIV,给div设置个id="divHTML"
    然后用JS给这个DIV  innerHTML你后台的代码就OK了
    不知道你后台的HTML用什么存的,假设是 string htmltext="..."
    window.iframe.document.getElementById("divHTML").innerHTML="<%=htmltext%>"
    呵呵,不知道这样O不,不过htmltext这个需要在iframe的父窗口定义
      

  6.   

    var htmltext =‘<%=HtmlText%>’;呵呵,应该加引号,再补允下
      

  7.   

    wwx6312388朋友的方法是前后台数据通信啊,能稍详细讲一下吗,谢谢!