如何在aspx页面中包含adovbs.inc文件?

时间:2016-02-11 15:47:55

标签: asp.net vb.net asp-classic vb6

我正在将ASP经典页面转换为ASP.NET。将.inc扩展名的文件包含到aspx页面的正确方法是什么?

<!--#include virtual = "adovbs.inc" -->

我注意到每次我将包含指向.inc文件的include指令的其中一个页面更改为aspx时,我都会从那些.inc文件中获得所有类型的错误。

我觉得只需将那些.inc文件中的逻辑重写为vb类。

感谢帮助

2 个答案:

答案 0 :(得分:4)

adovbs.incadovbs.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中以某种形式存在。

答案 1 :(得分:1)

如果你的问题是关于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文件。我假设您转换的原因之一是您可以使用母版页,代码隐藏等。