Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/joomla/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp classic 替换经典ASP中的巨型Case语句_Asp Classic - Fatal编程技术网

Asp classic 替换经典ASP中的巨型Case语句

Asp classic 替换经典ASP中的巨型Case语句,asp-classic,Asp Classic,我在经典ASP中有一个200多个case语句,它正在失控。它根据选择的案例设置5个变量。地址、电话、姓名等仅设置变量,而不设置任何其他变量 数据库或文件不是此应用程序的选项 来自Perl世界,我将使用散列来存储此信息 失控?我想这已经失控了 你能不能将案例分类为“x”一般区域并分解为帮助程序例程?Brian,经典的ASP等价于Perl哈希就是对象。取决于你想要的性能 case语句很难看,但不消耗需要分配的内存 但是,您可以为字段创建一个类,并将其实例加载到字典中。在global.asp脚本中执行

我在经典ASP中有一个200多个case语句,它正在失控。它根据选择的案例设置5个变量。地址、电话、姓名等仅设置变量,而不设置任何其他变量

数据库或文件不是此应用程序的选项


来自Perl世界,我将使用散列来存储此信息

失控?我想这已经失控了


你能不能将案例分类为“x”一般区域并分解为帮助程序例程?

Brian,经典的ASP等价于Perl哈希就是对象。

取决于你想要的性能

case语句很难看,但不消耗需要分配的内存

但是,您可以为字段创建一个类,并将其实例加载到字典中。在global.asp脚本中执行此操作,使其仅发生一次。将字典存储在全局asp集合中,使其仅分配一次,但与每个页面调用一起使用


我在这里没有说得太具体。。。已经有一段时间了。

这应该用数据库来完成,但既然您说这不是一个选项,那么您将编写的任何语句都不会比switch语句更复杂,因为它都需要存在于您的代码中(根据您的无数据库和无文件条款)


我的意思是,如果数据库的想法太复杂了,你可以使用Excel电子表格,但从技术上讲,那也是一个文件

很多人使用VBScript实现经典ASP,但您也可以在服务器上使用JavaScript/JScript作为替代方案。事实上,在最终转到.NET之前,这是我做经典ASP的首选方法(除非在某些情况下,对于特殊情况,例如断开连接的记录集、ExecuteRecords等,您必须混合使用VBScript)。与VBScript相比,它将为您提供更好的OOP支持。也许你可以试着重构它,以在之后形成某种策略模式。从长远来看,为了更好地维护,我认为值得研究。

您不能将其迁移到数据库或文本文件,这是一个问题,因为它们将是此类数据的最佳解决方案。但是,如果必须在代码中包含它,则可以尝试将其放入预定义的矩阵中。然后,您可以提供一个函数来返回矩阵中给定行的数据。

脚本字典是最好的选择IMHO

案例是位置,因此位置1-200+**我没有编写代码:D**CASE“216”AGE=“21”LOGO=”“NAME=“ABC”ADDRESS=“”PHONE=”“CASE“217”AGE=“22”LOGO=”“NAME=“XYZ”ADDRESS=“1最佳方式”