在同一目录中有两个aspx,1.aspx和2.aspx,我想在1.aspx中动态的把2.aspx嵌进来,有什么好的办法么,不用iframe的方式

解决方案 »

  1.   

    为什么不能用iframe,楼主需要的是什么样的具体效果?
      

  2.   

    ASPX中的FORM名称都一样的,不能存在两个啊
    如果是静态的,可以在HTML中直接用INCLUDE
      

  3.   

    ASPX中的FORM名称都一样的,不能存在两个啊
    如果是静态的,可以在HTML中直接用INCLUDE
    完全没听懂。
    反而,FORM里面嵌FORM才是真正会出问题的。
      

  4.   

    比如把2.aspx当作一个控件加进来,主要是以后不单是2.aspx,还有别的可能图片等,意思是可以动态的加载我指定的任何资源form里面嵌FORM应没什么问题,大家可以试试。
      

  5.   

    把其中一个改为用户控件ascx,再进行引用
      

  6.   

    我同意楼上的做法。虽然这比较技术化。我自己的项目实际上一个常规的aspx都不留,要求所有东西都是用户控件,这个站点只有一个aspx页面负责根据参数(代表要显示的内容)来动态(从数据库中查询出此类内容应该使用哪一个,类似于但是强于theme)装入用户控件作为模板。所有要展示的东西都是用户控件无疑。这已经是所有应用程序的习惯框架了。
      

  7.   

    楼上的具体说说嘛装入用户控件?能说具体点么,怎么把一个物理上存在的文件装入用户控件这个文件可能是图片也可能是一个aspx
      

  8.   

    aspx可以用两个FORM?我以前遇到过两个FORM放在一起就报错的情况(ascx),我知道ASP是可以的,如果说错了可对不起了,一年多没摸WEB了
      

  9.   

    我同意楼上的做法。虽然这比较技术化。我自己的项目实际上一个常规的aspx都不留,要求所有东西都是用户控件,这个站点只有一个aspx页面负责根据参数(代表要显示的内容)来动态(从数据库中查询出此类内容应该使用哪一个,类似于但是强于theme)装入用户控件作为模板。所有要展示的东西都是用户控件无疑。这已经是所有应用程序的习惯框架了。
    有点儿极端,但这也是在ASP.NET中实现模板化网站的一种可行模式。
    其实现在绝大多数网站都是基于模板的,不知道ASP.NET要搞成基于控件的模型干吗……
      

  10.   

    Q: 其实现在绝大多数网站都是基于模板的,不知道ASP.NET要搞成基于控件的模型干吗
    ——————————————————————————————————————————
    A:例如绑定控件内部绑定的是控件,“我打算往页面上一个TableCell内部放一个论坛程序另一个放广告程序”这也是谈论(两个)控件,“写几个用户控件然后在一个aspx上通过鼠标把他们脱进来”这也是谈论控件,这些都不是谈论模版而是谈论控件。模板是被解释的数据与可视控件分离,与控件并没有什么没有冲突,也没有直接关系。就像是说群山是由一座座山峰组成的,你不能说既然有了“风水”这个抽象概念就不能有“山峰”概念。再精通模板,也不是不使用控件的理由。
      

  11.   

    哦,特别说明,我所说的模板是指masterpage,而不是只那种使用html里边放上几个标记符号然后用文本替换的那种,那种我觉得不值得去花时间讨论(愿意用就偷着用吧,但是没有什么谈论的必要)。
      

  12.   

    我觉得模板是纯表示层的,不交互的,而控件是包含交互的。而实际上Web不可能做到像WinForm那样的即时交互,所以不如把交互从所谓的控件中拆掉,纯粹用模板来代替,这样会有根多适合于模板的东西出现。当然,微软是希望把这两者都能实现,但我还是觉得在ASP.NET上对模板的支持很不够。
      

  13.   

    其实我的意思就是说,应该顺应网络的潮流,重视呈现要超过交互。比如说换模板,在现行的ASP.NET中,比较可行的办法还是更换aspx文件或ascx文件。
      

  14.   

    其实我对流程描述出来了。我说的那种页面(或者控件)接收一个要显示内容的编号(例如数据库记录号),然后自动展示界面。例如:
      <cc:content runat="server" id="content1" contentID="1234567" />
      <cc:content runat="server" id="content1" ChannelID="1234567" order="2" />第一个就代表了在此位置要展示一个编号为“1234567”的内容,第二个代表了要展示栏目“1234567”里边第2个内容。这跟模板有什么直接关系呢?这时候谈不到模板,只关心大的布局,实际上几乎只关心内容。但是到底实现“论坛”ascx怎么布局呢?此时针对的数据结构已经定死了,难点转移到更加细致的问题上来了,我连一个table代码都不敢写,因为怀疑tableCell并不是那些帖子的唯一容器,此时就可以用模板先把疑问放在一边。可见模版和控件是相辅相成的。模版中包含控件,控件也可以使用模版,多一种灵活的组合,程序更好快速实现。
      

  15.   

    模版在技术上就是一种用户控件,它是从userControl类继承的,但是是一种包含了别人总结的经验和控制逻辑的用户控件,我们可以从“不必重新发明汽车轮子”的角度去使用它。
      

  16.   

    其实我对流程描述出来了。我说的那种页面(或者控件)接收一个要显示内容的编号(例如数据库记录号),然后自动展示界面。例如:
      <cc:content runat="server" id="content1" contentID="1234567" />
      <cc:content runat="server" id="content1" ChannelID="1234567" order="2" />非常谢谢你的回答但如果1234567对应的是一个物理页面,我想吧,那个物理页面嵌进来,不过不能写死,用什么技术,像asp中的include一样呢?
      

  17.   

    用usercontrol然后可以动态加载
      

  18.   

    如果是form的话就得用框架了
      

  19.   

    把其中一个改为用户控件ascx,再进行引用非常同意这个办法,我以前就是这样实现的!
      

  20.   

    其中一个改为用户控件ascx,再进行引用这不就是那个写死了么,那外一个(这里指的是一个物理存在的页面)也想通过动态加载搞到ascx中的,像asp中的include一样?
      

  21.   

    2.aspx做成用户控件2.ascx,然后在1.aspx中动态加载。。
      

  22.   

    楼主死脑筋,鉴定完毕为什么你就不能变通一下,把2.aspx转成2.ascx,然后在1.aspx中动态加载呢?
      

  23.   

    但是2.aspx我还要别人能访问啊,你改成了2.ascx,怎么满足,难道让我每加一个页面再做一个ascx不成
      

  24.   

    变通试一下,做三个文件 1.aspx , 2.ascx , 2.aspx 最终的结果无非是显示数据罢啦, 2.ascx 与 2.aspx 的外观做成一样的,还有将数据后台也一样的显示就行啦.我还没有发现可以在ASPX文件里可以内嵌另一个文件的
      

  25.   

    呵呵,其实大家讨论的都可行,只是对楼主这儿来说,要一个实用的。
    我感觉用户控件比较可行,如果你要让用户再访问这个2.aspx(做成控件以后,是2.ascx),可以用另外一个页来处理,比如:3.aspx,然后将2.ascx再放到3.aspx中。总之如何处理有多种不同的办法,具体的处理方式也因人而异。
    其实你是想只通过修改一个页,而改变不同的显示页,但asp.net是编译运行的,如果你的页面内容变化了,而你不去修改这个2.ascx,那你无论用什么东西去实现都是需要重新修改它的,所以实现方式你可以自己去选。但推荐用用户控件,.ascx不知道说清楚了没有
      

  26.   

    呵呵,其实大家讨论的都可行,只是对楼主这儿来说,要一个实用的。
    我感觉用户控件比较可行,如果你要让用户再访问这个2.aspx(做成控件以后,是2.ascx),可以用另外一个页来处理,比如:3.aspx,然后将2.ascx再放到3.aspx中。总之如何处理有多种不同的办法,具体的处理方式也因人而异。
    其实你是想只通过修改一个页,而改变不同的显示页,但asp.net是编译运行的,如果你的页面内容变化了,而你不去修改这个2.ascx,那你无论用什么东西去实现都是需要重新修改它的,所以实现方式你可以自己去选。但推荐用用户控件,.ascx不知道说清楚了没有
    _________________这个可行。至于说图片或者其它文件的问题,你能在aspx页面中嵌入,那自然在ascx嵌入没有问题了。