【问题标题】:using Classic ASP INCLUDE VIRTUAL in ASP.NET page在 ASP.NET 页面中使用 Classic ASP INCLUDE VIRTUAL
【发布时间】:2014-03-20 14:46:00
【问题描述】:

我维护一个 Classic ASP Intranet 站点。我在 ASP.NET 中开发了一个新页面,其中包含从旧站点到它的链接。我想使用 Intranet 中的 INCLUDE,它在每个页面上放置一个带有菜单的标题。在调试器中运行新页面时出现编译错误。 INCLUDE 文件包含嵌套的 INCLUDE 文件。错误说它找不到嵌套的包含。当实际物理路径在 d:\ 驱动器上时,它会在 C:\xxxxxx 中寻找它们。

显然它正在解决顶级包含的 INCLUDE VIRTUAL,因为它正在寻找嵌套的包含。

为什么它解析第一个包含,在 D:\ 驱动器上找到它,但在 C:\ 驱动器上寻找嵌套包含?

这是顶级包含的代码

这是嵌套包含的代码

该站点在 IIS 7.5 上运行。

该站点位于服务器上的默认网站路径中的虚拟目录中 D:\inetpub\wwwroot

编译器正在查找此路径中的嵌套包含,但出现此错误, 找不到路径“C:\inetpub\wwwroot\inc\menustyles.txt”的一部分

【问题讨论】:

    标签: asp.net asp-classic include iis-7.5 virtual


    【解决方案1】:

    包含文件在 ASP.NET 中的工作方式与在经典 ASP 中的工作方式不同。当您使用 Include 指令时,它会导致文件内容在 ASP.NET 页面中呈现为纯文本。您将不得不采用 ASP.NET 路由来解决您的问题。通常,用户控件用于呈现可重用 HTML 的 sn-ps。

    有关更多信息,请参阅我关于此主题的文章:http://www.mikesdotnetting.com/Article/144/Classic-ASP-Include-Files-in-ASP.NET

    【讨论】:

      【解决方案2】:

      我在这里遇到的问题是我在我的开发机器上运行调试器,它的虚拟目录位于该站点的 C:\ 驱动器上,并且第一级虚拟文件确实存在于编译器所在的路径中寻找它,并且嵌套文件不存在。当我将嵌套文件复制到开发机器上时,问题就解决了。

      但是,这引发了一个新问题。嵌套文件包含服务器端脚本、Classic ASP VBScript,它只是不会在我的 ASP.NET 页面中运行。这个问题使这项工作陷入了死胡同,除非有人能推荐如何解决这个新问题。

      谢谢,布伦

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多