【问题标题】:Including .asp file into html file将 .asp 文件包含到 html 文件中
【发布时间】:2010-10-01 15:22:21
【问题描述】:

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

【问题讨论】:

    标签: html asp-classic include ssi


    【解决方案1】:

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

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

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

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

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

    【讨论】:

    • 问题是该站点有许多旧的 html 文件需要更新版权年份,我们的想法是让这个自动化,而不必跳过重命名文件和链接到它们的链接。它们已经链接到常规包含文件,但只能包含静态内容。
    • 有一种方法可以通过使 IIS 将 html 文件解析为 asp 来解决此问题,但这会影响服务器的性能,因为必须解析所有包含或不包含的文件,所以我试图找到解决这个问题的方法。
    【解决方案2】:

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

    【讨论】:

    • 我认为这可能是目前最好的选择。
    【解决方案3】:

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

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

    【讨论】:

      【解决方案4】:

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

      【讨论】:

        【解决方案5】:

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

        假设您有页眉、导航栏或页脚(Boris 在他的一个 cmets 中提到的版权年份/信息的常用位置)。但是,您不想更改其中许多文件的 .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+='&lt;form id="UserSignUp" name="UserSignUp" method="post" action="AddUser.asp"&gt;'; 并且您可以说例如添加用户访问数据库。

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

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

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

        在 JavaScript 中添加如下内容:

        Code+='&lt;script&gt;document.write("Copyright: &lt;%=rsYear("CopyrightYear")%&gt;");&lt;/script&gt;';

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2021-10-31
          • 2011-02-23
          • 1970-01-01
          • 2013-12-04
          • 2017-09-30
          • 1970-01-01
          • 1970-01-01
          • 2012-04-08
          相关资源
          最近更新 更多