我们正在将经典 ASP 应用程序移植到 ASP.NET。我们如何处理#INCLUDE (.inc) 文件?现在它们导致构建错误,因为 ASP.NET 认为变量“未声明”。
最佳答案
您还没有说明 .inc 文件中的内容。让我们假设有一堆 const 定义和一些辅助函数。
您可能会考虑多种变体。
- 通常只有一个 .inc 包含在所有或大多数 ASP 页面中。
- 其他 .inc 文件包含在一些 ASP 页面中,因为它们只是封装了一些共享功能。
对于变体 1,它可能有助于创建一个派生自 Page
的类,该类将原始 .inc 文件常量公开为属性,并将其函数公开为方法。让所有移植到 ASP.NET 的 ASP 页面都继承自这个新类,而不是直接继承自 Page
。
对于变体 2,在 App_Code 中创建包含静态属性和方法的类(或者如果 .inc 包含的是 VBScript 类的直接端口)。使用这些包含的 ASP 到 ASP.NET 页面端口需要在它们对原始 .inc 文件中的成员的使用前加上它们不是静态(共享)成员的类的名称。
如果 include 最初包含静态标记,那么更好的移植方法是创建具有代表性的 .master 页面,并让移植的 ASP 页面适本地使用这些母版。
关于asp.net - 经典 ASP 端口 -- 如何替换 #INCLUDE (.inc) 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2254213/