2009-01-15 103 views

回答

3

你可以使用一个IFRAME标签...但它是一个有点苏茨基。我会做什么Phantom Watson说。

1

我不完全确定你在问什么。如果您试图将.asp文件包含到.html文件中,我不相信这是可能的。如果你改变你的文件的扩展名的.shtml,那么你可以把下面的行成HTML文件:

<!--#include virtual="path to asp file/include-file.asp" --> 

现在,ASP是否会被解析或代码会显示将要得到解决由理解服务器解析的人比我更好。

什么是更好的解决方案是只包含一个ASP文件到另一个ASP文件。如果你想要包含页面在内的功能,那么给你的文件.html或.shtml扩展名只会让你很难完成你想要的东西。

基本上,对于要分析的文件使用.asp,对于可以按原样向用户提供的文件使用.html。

+0

问题是,该网站有需要的版权每年更新,这个想法是让这个不必自动化许多旧的HTML文件跳过重命名文件和链接到他们的链接。他们已经链接到一个常规的包含文件,但只能包含静态内容。 – 2009-01-15 18:14:58

+0

有一种解决方法,将IIS解析html文件制作为asp,但会影响服务器的性能,因为所有包含或不包含的文件都将被解析,所以我试图找到解决方法。 – 2009-01-15 18:16:07

1

您可以更改可执行文件的扩展,所以,如果你愿意,你可以使html的可执行文件,这样你可以包括文件或其他什么做什么..转到IIS管理器(运行 - > INETMGR),选择您的网站的性质,在'Home directory'标签下按'Configuration ..'你可以在那里添加一个扩展名和一个可执行文件(你可以插入与.asp相同的文件)

但我不认为这是一个最好的选择: )如果它是exetutable,它应该是.asp,如果它不是 - html

1

其中一种可能的解决方案是将页面的扩展名从.html更改为.asp,因为它对页面和页面没有任何影响执行。然后,您可以正常包含.asp文件在.asp文件中解析。

0

我知道这是一个老问题,但对于那些有兴趣,有给它一个解决方案,如果你正确的代码,我想出如何与一些测试我做到了。我有一个工作的编码版本,所以我知道它的工作原理,但我会尽力解释它。

比方说你有一个头,导航栏或页脚(通常的地方,鲍里斯在他的评论中提到一个版权年/信息的)。但是,由于所涉及的链接以及其他网站链接到您的网站,您不希望更改这些文件的.html/.htm文件扩展名。

虽然鲍里斯它只是每个文件的页脚,简单的方法来做到这一点是通过将在以往的页脚代码放在HTML文件以下。

<script type="text/javascript" src="Footer.asp"></script> 

这是它的第一部分,接下来的部分是页脚ASP文件,像这样内使用JavaScript:

var Code =''; 
Code+='your html here'; 
Code+='more html here if needed'; 
document.write(Code); 

,你甚至可以把VAR上述功能以及这些功能将与不管你有什么:Code+='your html here';现在你可能会有这样的代码:Code+='<form id="UserSignUp" name="UserSignUp" method="post" action="AddUser.asp">';,你可以说例如添加用户到数据库。

但在Boris的情况下,它是版权年,所以在同一个Footer.asp文件中,您有几个选项。在Code+='your html here';中,您可以使用您创建/发现的代码逐年更新,也可以每年仅在该文件中手动更新一次。

然而它引发了一个问题,为什么你不用Footer.js文件中的document.write();来代替版权年的第一个版本。除非你的版权年代码在ASP中?

在哪个情况下,在JavaScript函数上方的Footer.asp文件中,只需添加您的ASP代码,例如:rsYear("CopyrightYear") = Now以及您可能需要的其余ASP代码。

虽然在JavaScript中的线沿线的补充了一句:

Code+='<script>document.write("Copyright: <%=rsYear("CopyrightYear")%>");</script>';