如何在 aspx 页面中包含 adovbs.inc 文件?
How to include adovbs.inc file in an aspx page?
我正在将 ASP 经典页面转换为 ASP.NET。将扩展名为 .inc 的文件包含到 aspx 页面的正确方法是什么?
<!--#include virtual = "adovbs.inc" -->
我注意到,每次我将包含指向 .inc 文件的 include 指令的页面之一更改为 aspx 时,我都会从这些 .inc 文件中收到各种错误。
我想把那些 .inc 文件中的逻辑重写成 vb 类.
adovbs.inc
或 adovbs.asp
的目的是提供来自 ADODB DLL 的命名常量值列表(由于 Classic ASP 依赖后期绑定在 VBScript 中的大部分功能).
adovbs.asp
的示例片段
'--------------------------------------------------------------------
' Microsoft ADO
'
' (c) 1996-1998 Microsoft Corporation. All Rights Reserved.
'
'
'
' ADO constants include file for VBScript
'
'--------------------------------------------------------------------
'---- CursorTypeEnum Values ----
Const adOpenForwardOnly = 0
Const adOpenKeyset = 1
Const adOpenDynamic = 2
Const adOpenStatic = 3
'---- CursorOptionEnum Values ----
Const adHoldRecords = &H00000100
Const adMovePrevious = &H00000200
Const adAddNew = &H01000400
Const adDelete = &H01000800
直到人们意识到您可以使用 METADATA 数据标记直接从类型库导入 DLL 常量,而不需要 adovbs
包含文件。
<!-- METADATA
TYPE="typelib"
UUID="00000200-0000-0010-8000-00AA006D2EA4"
-->
在 ASP.Net 中,所有内容都已编译,因此不需要这些常量文件,因为它们已经以某种形式存在于 ADO.Net.
中
如果您的问题是关于 adovbs.inc 的,那么@Lankymart 的回答是正确的。我要补充一点,该文件是用 VBScript 编写的(顾名思义),因此它在不使用 VBS 的 asp.net 中没有用处。
如果您一般询问包含文件,那么 asp.net 确实支持 #include
指令。文件扩展名 .inc
没有区别,如果您将它包含在 .asp
文件中,那么它需要包含与 Classic ASP 兼容的代码,如果它包含在 .aspx
文件,那么它需要包含与 asp.net 兼容的代码。
实际上,这意味着如果您说过,页眉和页脚包括仅包含客户端代码的文件,那么您可以在 Classic 或 .net 页面中使用它们。如果它们包含服务器端代码,则您无法传输它们
可以按照经典 ASP 页面的样式构建 .aspx
页面,例如
<%@ Page Language="C#" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<!--#include virtual = "header.inc" -->
<%
// Put some C# code here
%>
<!--#include virtual = "footer.inc" -->
然而,有更好的方法来构建 asp.net 文件。我假设您转换的原因之一是您可以使用母版页、代码隐藏等。
我正在将 ASP 经典页面转换为 ASP.NET。将扩展名为 .inc 的文件包含到 aspx 页面的正确方法是什么?
<!--#include virtual = "adovbs.inc" -->
我注意到,每次我将包含指向 .inc 文件的 include 指令的页面之一更改为 aspx 时,我都会从这些 .inc 文件中收到各种错误。
我想把那些 .inc 文件中的逻辑重写成 vb 类.
adovbs.inc
或 adovbs.asp
的目的是提供来自 ADODB DLL 的命名常量值列表(由于 Classic ASP 依赖后期绑定在 VBScript 中的大部分功能).
adovbs.asp
'--------------------------------------------------------------------
' Microsoft ADO
'
' (c) 1996-1998 Microsoft Corporation. All Rights Reserved.
'
'
'
' ADO constants include file for VBScript
'
'--------------------------------------------------------------------
'---- CursorTypeEnum Values ----
Const adOpenForwardOnly = 0
Const adOpenKeyset = 1
Const adOpenDynamic = 2
Const adOpenStatic = 3
'---- CursorOptionEnum Values ----
Const adHoldRecords = &H00000100
Const adMovePrevious = &H00000200
Const adAddNew = &H01000400
Const adDelete = &H01000800
直到人们意识到您可以使用 METADATA 数据标记直接从类型库导入 DLL 常量,而不需要 adovbs
包含文件。
<!-- METADATA
TYPE="typelib"
UUID="00000200-0000-0010-8000-00AA006D2EA4"
-->
在 ASP.Net 中,所有内容都已编译,因此不需要这些常量文件,因为它们已经以某种形式存在于 ADO.Net.
中如果您的问题是关于 adovbs.inc 的,那么@Lankymart 的回答是正确的。我要补充一点,该文件是用 VBScript 编写的(顾名思义),因此它在不使用 VBS 的 asp.net 中没有用处。
如果您一般询问包含文件,那么 asp.net 确实支持 #include
指令。文件扩展名 .inc
没有区别,如果您将它包含在 .asp
文件中,那么它需要包含与 Classic ASP 兼容的代码,如果它包含在 .aspx
文件,那么它需要包含与 asp.net 兼容的代码。
实际上,这意味着如果您说过,页眉和页脚包括仅包含客户端代码的文件,那么您可以在 Classic 或 .net 页面中使用它们。如果它们包含服务器端代码,则您无法传输它们
可以按照经典 ASP 页面的样式构建 .aspx
页面,例如
<%@ Page Language="C#" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<!--#include virtual = "header.inc" -->
<%
// Put some C# code here
%>
<!--#include virtual = "footer.inc" -->
然而,有更好的方法来构建 asp.net 文件。我假设您转换的原因之一是您可以使用母版页、代码隐藏等。