将一个 ASPX 页面嵌入到 ASCX 控件里面?

3
能否在ASCX控件中嵌入ASPX页面?
2个回答

2

不行。

这有点像把一辆车建在乘客座位上。

-- 编辑:

明确一点,你可以考虑各种方式来获取内容(例如实际请求),然后将其包含在你的ASCX控件中,但这通常是一种相当“反向”的方法。你想要做什么?


哈哈哈,这让我的一天都变好了。不管怎样,那就是你说的,你做不到。 - Matteo Mosca
我想将一个aspx页面集成到另一个aspx页面的特定区域。 - uhu
@uhu:对,这比您最初提供的信息并没有更详细的内容。这里的典型方法是将您想要集成的页面作为一个UserControl,然后嵌入它。 - Noon Silk

0

使用iframe实际上是可能的。

.ascx控件代码:

<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="Control.ascx.cs" Inherits="Project.Control" %>
<iframe id="ctrlIframe" runat="server" src="path/to/your_aspx_file.aspx"></iframe>

在这里放置链接到aspx页面的iframe。

您还需要调整iframe的大小以适应ascx控件中的aspx:

<script type="text/javascript">
    window.onload = function IFrameFitContent() {
        var iframe = document.getElementById("<%= ctrlIframe.ClientID %>");
        var bHeight = iframe.contentWindow.document.body.scrollHeight;
        var dHeight = iframe.contentWindow.document.documentElement.scrollHeight;
        var bWidth = iframe.contentWindow.document.body.scrollWidth;
        var dWidth = iframe.contentWindow.document.documentElement.scrollWidth;
        var height = Math.max(bHeight, dHeight);
        var width = Math.max(dWidth, bWidth);
        iframe.height = height;
        iframe.width = width;
    }
</script>

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接