3

除了必须用 asp 处理所有 html 文件之外,如何在 html 文件中包含 .asp 文件并对其进行处理。

4

5 回答 5

3

您可以使用 IFRAME 标签……但这有点糟糕。我会按照Phantom Watson所说的去做。

于 2009-01-15T16:44:14.300 回答
1

我不完全确定你在问什么。如果您尝试将 .asp 文件包含到 .html 文件中,我认为这是不可能的。如果将文件的扩展名更改为 .shtml,则可以将以下行放入 HTML 文件中:

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

现在,是否解析 ASP 或显示代码必须由比我更了解服务器解析的人来解决。

更好的解决方案是将一个 ASP 文件包含到另一个 ASP 文件中。如果您想要页面包含等功能,那么为您的文件提供 .html 或 .shtml 扩展名只会让您更难完成您正在尝试的事情。

基本上,将 .asp 用于您想要解析的文件,将 .html 用于可以按原样提供给用户的文件。

于 2009-01-15T16:42:10.903 回答
1

您可以更改可执行扩展名,因此,如果需要,您可以使 .html 可执行,以便您可以包含文件或执行其他任何操作。转到 IIS 管理器(运行->inetmgr),在选项卡下选择站点的属性主目录'按'配置..'您可以在那里添加扩展名和可执行文件(您可以插入与.asp中相同的内容)

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

于 2009-01-18T12:00:15.677 回答
1

可能的解决方案之一是将页面的扩展名从 .html 更改为 .asp,因为它不会影响您的页面及其执行。然后您可以正常包含 .asp 文件,就像我们将其包含在 .asp 文件中一样。

于 2015-09-30T13:36:49.387 回答
0

我知道这是一个老问题,但对于那些感兴趣的人来说,如果你编码正确,就有一个解决方案,我想出了如何通过我所做的一些测试来解决这个问题。我得到了它的工作编码版本,所以我知道它有效,但我会尝试解释它。

假设您有页眉、导航栏或页脚(Boris 在他的评论中提到的版权年份/信息的通常位置)。然而,您不想更改其中许多文件的 .html / .htm 文件扩展名,因为所涉及的链接以及其他站点是否链接到您的网站。

尽管对于 Boris 来说它只是每个文件的页脚,但简单的方法是将以下内容放入您的 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';您可以使用您制作/发现的代码逐年更新,或者您可以每年仅在一个文件上手动更新一次。

然而它引出了一个问题,为什么你不首先在版权年使用 JavaScript,document.write();而是在 Footer.js 文件中使用 JavaScript。除非您的版权年份代码在 ASP 中?

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

在 JavaScript 中添加以下内容:

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

于 2015-12-25T19:32:49.503 回答