2

我的html页面是

<iframe runat="server" id="iframe1" width="100%" height="100%" scrolling="no"  frameborder="0"></iframe>

我的页面加载事件中的 .cs 内容

iframe1.Attributes["src"] = "http://default.com/";
//iframe1.Attributes["height"] = "100%";
//iframe1.Attributes["width"] = "100%";
iframe1.Attributes.Add("style","width:100%;height:100%;");

但它不工作

我想显示整个页面内容,但我的 iframe 高度没有采用http://default.com/的高度

4

3 回答 3

1

我不知道如何在 .cs 页面上自动调整 iframe 的大小,但这是另一种选择,例如将 iframe 放入 datalist 控件中...

<asp:DataList ID="dtlhtml" runat="server" Width="100%">
    <ItemTemplate>
        <table cellpadding="0" cellspacing="0" width="100%">
            <tr>
                <td>
                    <iframe src='<%#Eval("html") %>' width="713" id="iframe1" 
                        frameborder="0" onLoad="autoResize 'iframe1');">
                    </iframe>
                </td>
            </tr>
        </table>
    </ItemTemplate>
</asp:DataList>

将javascript代码作为...

<script language="JavaScript">
function autoResize(id) 
{
    var newheight;
    var newwidth;
    if (document.getElementById(id))
    {
        newheight = document.getElementById(id).contentWindow.document.body.scrollHeight;
        newwidth = document.getElementById(id).contentWindow.document.body.scrollWidth;
    }
    document.getElementById(id).height = (newheight) + "px";
    document.getElementById(id).width = (newwidth) + "px";
}
</script>

并放在 .cs 页面上。

DataTable dt1 = new DataTable();
dt1.Columns.Add("html");
DataRow dr = dt1.NewRow();
dr["html"] = "";//Any dynamic url path
dt1.Rows.Add(dr);
dtlhtml.DataSource = dt1;
dtlhtml.DataBind();

注意: 这在本地主机中不起作用..请在线尝试。

于 2013-10-05T09:44:10.663 回答
0

我假设您不想“滚动”,那么为什么不禁用它呢?

<iframe src="/default.asp" width="100%" height="100%" scrolling="no"></iframe>

或尝试

iframe1.Attributes.Add("scrolling","no");

编辑:试试

PlaceHolder1.Controls.Add(new LiteralControl("<iframe src='mypage.aspx' width='100%' height='100%' scrolling='no'></iframe>"));

或者

iframe1.Attributes["src"] = "http://www.asp.net";
于 2013-10-05T07:43:43.937 回答
0

由于您正在使用runat="server",因此您可以从后面的代码中访问高度和宽度等属性。尝试

更新的答案

iFrame1.Attributes.Add("height","100%");
iFrame1.Attributes.Add("width","100%");
set scrolling ="no" inside tag as suggested by Paul
于 2013-10-05T07:51:33.200 回答