能否在ASCX控件中嵌入ASPX页面?
不行。
这有点像把一辆车建在乘客座位上。
-- 编辑:
明确一点,你可以考虑各种方式来获取内容(例如实际请求),然后将其包含在你的ASCX控件中,但这通常是一种相当“反向”的方法。你想要做什么?
使用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>