我正在尝试重组网站。有一些框架页面我想删除,因为可以用更少的开销实现相同的结果。但是,下面的框架:
<frame name="right" src="/PageTurn/BrowsePub.aspx?
PublicationID=<%=PubID%>&RunDate=<%=Server.URLEncode(PubDate)%>"
scrolling="auto" marginwidth="0" marginheight="0">
我想删除,但我尝试使用包但但是我收到错误消息,说找不到该文件?为什么它在一个框架内工作但不作为一个包含?我也试过iframe并得到了相同的结果。
很想知道为什么它可以作为一个框架。
我尝试了一个虚假的包括:
<!--#include virtual="/PageTurn/BrowsePub.aspx?
PublicationID=<%=PubID%>&RunDate
=<%=Server.URLEncode(PubDate)%>"-->
无济于事。
谢谢,R。
答案 0 :(得分:1)
听起来好像您试图在经典ASP页面中使用#include
,但目标是ASPX页面。
#include
只需获取包含文件中的文本并在找到#include
的位置插入即可。没有形式的请求或处理,源文件的完整原样文本被转储到引用文件中。然后,经典ASP脚本处理程序处理组合的文本块。由于ASPX文件的文本使用的是ASP.NET代码,因此根本不起作用。
一种选择是将包含页面转换为ASPX并将包含的页面转换为ASCX,IOW采用ASP.NET方法来解决此类问题。
如果包含的页面没有其他内容可以提供给输出,则可以执行Server.Transfer
但我不推荐它,它太乱了。
答案 1 :(得分:0)
我设法通过最终使用iframe来实现我想要的一切。
问题是链接是动态的,这就是为什么我无法使用虚拟包含这是我想要做的,所以最后我有这个:
<iframe id="browse_frame" src="/PageTurn/BrowsePub.aspx?PublicationID=<%=PubID%>&RunDate=<%=Server.URLEncode(PubDate)%>"
width="100%" height="600px" marginwidth="0" marginheight="0" frameborder="0" scrolling="auto">
</iframe>
src实际上是一个自定义应用程序。它是我们更新旧网站并包含基于ajax的新功能,以及更新平台这些棘手的情况之一,这需要结合经典的asp和.net页面。我们最终打算将所有内容升级到.net,但正如您所知,时间和金钱始终是一个因素。