在同一目录中有两个aspx,1.aspx和2.aspx,我想在1.aspx中动态的把2.aspx嵌进来,有什么好的办法么,不用iframe的方式 
(2.aspx指的是一个物理存在的页面)想通过动态加载搞到ascx中的,像asp中的include一样,只要告诉我路径,就可以把你包进来,不知道怎么做
有人提过
<script src = "2.aspx"></script>
<!--#include file="2.aspx" -->这样也可以但
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>无标题页</title></head>
<body>
    <form id="form1" runat="server">
     
      <!--#include file="default2.aspx" -->
    </form>
</body>
</html>
是这种么,怎么报错,说不能有2个page指令
1楼说的也报错啊在线等

解决方案 »

  1.   

    你把第二个页的PAGE指令头去掉
      

  2.   

    你把第二个页的PAGE指令头去掉
    去了也会有很多问题 ,比如header中有两个run =server属性,我觉得关键是要把2.aspx运行后的源文件抓过来,不知道怎么弄啊
      

  3.   

    <script scr="2.aspx"></script>
      

  4.   

    自己写个控件,通过HTTP协议获取到2.aspx,然后将生成后的源代码render到1.aspx中去。
      

  5.   

    walksnake(凌云剑客) ( ) 信誉:98    Blog 目前已经能实现这个方法,太走弯路了,还有别的办法么
      

  6.   

    尽管这种东西问题摆出,不过既然有那么给出各种旁门方法,我还是按照你的要求写一个大意来说明asp.net是怎么搞页面输出的。其实这些都是一层窗户纸,关键的东西不在于技术在于理解:public class executePage : WebControl
    {
        public string PageUrl
        {
            get
            {
                return (string)ViewState["url"];
            }
            set
            {
                ViewState["url"] = value;
            }
        }    public override void RenderControl(HtmlTextWriter writer)
        {
            HttpContext.Current.Server.Execute(this.PageUrl, writer, true);
        }
    }
      

  7.   

    这个控件可以用于任何asp.net代码的动态创建控件流程中。再在class之前增加一个 ToolBoxAttribute 属性用来在设计器上美观表现,你就可以拖入设计器里任何位置并且像普通的Label控件去使用了。
      

  8.   

    两个关键知识:1.  Server.Execute方法。
    2.  封装成控件用于页面上或者其它控件内任意位置“嵌入”。
      

  9.   

    不能出现多个page和多个ruant=server的form
      

  10.   

    <%@ Register TagPrefix="DBlue" TagName="Header" Src="../Controls/Footer.ascx" %><!--调用>
    <DBlue:Footer id="Footer1" runat="server" />