在ASP开发中,往往苦于数据结构的贫乏,通常的做法是通过创建Scripting.Dictionary对象来得到一个集合类,但在有些情况下,Scripting.Dictionary组件被管理员禁用,我们会束手无策。最近我就碰到这样一个问题,我申请的一个免费ASP空间无法创建Scripting.Dictionary,无可奈何!
后来我想,能不能不依赖于服务器的组件,自己写一个真正无组件集合类呢?不动手怎么知道行不行呢,说干就干。
首先想到的是用数组来存储数据,但是VBScript中处理不定长数组比较麻烦,而且VBScript中的数组也不能按中字符串的键值来取值,于是决定用JScript来实现,怎么考虑的过程就不多说了,代码胜于一切描述:
<SCRIPT RUNAT=SERVER LANGUAGE=JSCRIPT>
//创建Map对象
function CreateMap() { return new Map(); }
//自定义的Map对象
function Map() {
this.Items = new Array();
this.Add = function(key, value) {
this.Items[key] = value;
}
this.Remove = function(key) {
this.Items[key] = null;
var tmpItems = new Array();
jj=0;
for(ii=0; ii<this.Items.length; ii++) {
if(this.Items[ii]==null) continue;
tmpItems[jj++] = this.Items[ii];
}
this.Items = tmpItems;
}
this.Len = function() {
return this.Items.length;
}
this.Get = function(key) {
return this.Items[key];
}
}
</SCRIPT>
调用时跟调用Scripting.Dictionary没有太大差别,例子如下:
<html>
<head>
<SCRIPT RUNAT="SERVER" LANGUAGE="JSCRIPT">
function CreateMap() { return new Map(); }
//自定义的Map对象
function Map() {
this.Items = new Array();
this.Add = function(key, value) {
this.Items[key] = value;
}
this.Remove = function(key) {
this.Items[key] = null;
var tmpItems = new Array();
jj=0;
for(ii=0; ii<this.Items.length; ii++) {
if(this.Items[ii]==null) continue;
tmpItems[jj++] = this.Items[ii];
}
this.Items = tmpItems;
}
this.Len = function() {
return this.Items.length;
}
this.Get = function(key) {
return this.Items[key];
}
}
</SCRIPT>
</head>
<body>
<%
Set Fields = CreateMap()
for ii=1 to 10
Fields.Add CStr(ii), "这是Item:" + CStr(ii)
Next ii
For Each Field In Fields.Items
Response.write Field + "<br>"
next
%>
</body>
</html>
分享到:
相关推荐
"漂亮的红色ASP企业网站管理源码"表明这是一个以红色为主色调的企业级网站模板,通常这类网站设计会注重专业性与视觉吸引力的结合。红色在中国文化中常象征热情、活力和积极,可能被用来吸引用户的注意力,打造企业...
怎样写一个存储过程类来实现如何对存储过程的调用?.txt 直接拉入图片文件到程序窗口中打开.txt 指定Web服务器运行的不是ASP.NET1.1版.txt 字符串加密.txt 字幕显示屏幕保护.txt 自己动手用c#写控件.txt C#...
总的来说,SETCMS ASP企业网站管理系统是一个为中小企业量身打造的解决方案,它简化了网站建设和维护的工作流程,但同时也需要一定的技术背景来确保其稳定和安全运行。对于熟悉ASP技术的开发者来说,这是一个不错的...
这个"ASP企业通用源码完整适用于中小企业2"很可能是一个包含了一系列页面模板、数据库接口和功能模块的源代码集合,旨在帮助企业快速搭建个性化网站。 首先,我们来了解一下ASP的核心特性: 1. **服务器端执行**:...
【基于ASP.NET的新闻发布系统详解】 ASP.NET是微软公司推出的一种用于构建Web应用...在实际开发过程中,还需要考虑系统的性能优化、安全性防护以及用户体验等多个方面,以打造一个稳定、高效、易用的新闻发布平台。
总的来说,"基于ASP的古典画廊网站源码整站下载 v1.01.zip"是一个宝贵的教育资源,不仅展示了ASP技术在实际项目中的应用,也为想要深入了解Web开发的人士提供了实战案例。通过学习和利用这个源码,开发者可以提升...
ASP.NET 是一种由微软开发的服务器端Web应用程序框架,用于构建动态网站、Web应用程序和Web服务。...在实际应用中,开发者还需要关注用户体验、错误处理、日志记录等方面,以打造一个稳定、安全、高效的网络硬盘系统。
该源码项目——"搜索链接"网址收藏管理系统,是一个基于ASP.NET实现的在线收藏夹应用。这个系统允许用户存储、管理和分享他们在网上发现的有价值的网址。通过这个系统,用户可以创建个人的网址集合,分类管理,同时...
在C# ASP.NET环境下开发一个图片批量上传的功能,可以极大地提升用户交互体验,尤其是在处理大量图像数据时。这个功能不仅需要实现图片的批量选择和上传,还需要具备预览功能以及进度条显示,以便用户了解上传状态。...
通过解析和修改这些ASP文件,用户可以打造出一个高度定制化的、包含各种特性的导航服务,同时满足对用户统计数据的跟踪和分析,以及可能的广告管理和用户参与。对于那些熟悉ASP语言和网站开发的个人或团队,这套源码...
在Dreamweaver MX中创建一个新的动态站点,选择ASP.NET技术,这是因为留言板将采用ASP.NET来实现动态功能。设置站点时,需要指定站点名称、服务器技术、测试服务器地址等信息,确保站点能够在本地环境中正确地编辑和...
ASP.NET GridView 控件是Web开发中的一个强大工具,主要用于展示数据集合,并允许用户进行交互式操作。在ASP.NET中,GridView提供了丰富的功能,包括排序、分页、筛选、编辑、插入和删除等,使得开发者可以轻松地...
【新闻信息网站】是一种在线平台,它集合了各种新闻、文章和信息,为用户提供最新的国内外事件、社会动态、经济分析、娱乐资讯...通过合理的架构设计和优化,可以打造出一个高效、易用且具有高度扩展性的新闻信息平台。
"娱乐先锋论坛 4.0" 是一个针对社区交流需求设计和开发的论坛软件的最新版本。...这样的设计使得论坛既能够满足用户多样化的需求,也便于后台进行高效和精细的管理,从而打造一个健康、活跃且有序的在线社区。
总之,树型动态菜单是Web开发中的一个重要组件,通过深入学习"浪无影ASP树型菜单源码",开发者不仅可以掌握动态菜单的实现原理,还能提升在ASP环境下的前端开发技能。在实践中不断迭代和优化,可以打造出更高效、更...
怎样写一个存储过程类来实现如何对存储过程的调用?.txt 直接拉入图片文件到程序窗口中打开.txt 指定Web服务器运行的不是ASP.NET1.1版.txt 字符串加密.txt 字幕显示屏幕保护.txt 自己动手用c#写控件.txt C#...
NT模板集"是一个全面且功能强大的论坛解决方案,它利用ASP.NET的技术优势,提供了灵活的权限管理、多语言支持和丰富的界面定制选择,旨在打造一个高效、互动且个性化的网络社区环境。通过这些模板,用户可以根据自身...
这个文件可能包含一个语言管理工具类,用于处理多语言支持。它可能提供了加载不同语言资源、切换应用语言环境、翻译字符串等功能,对于国际化和本地化的应用程序非常有用。 2. **JUpload.cs**: 文件上传工具类,...
03、免费开源,动态标签、模板分离:只要你稍微懂点代码,您就可以完全打造一个属于你自己的个性网站 04、各种播放格式支持:播放器越来越多?添加越来越麻烦?不用怕!搜一次本身集成各种播放格式多达18款,而且...
在本实践项目中,我们将深入探讨“Web网站开发实例”,主要使用ASP.NET技术和C#语言,结合三层架构设计模式来创建一个音乐网站。这个实例旨在让开发者清晰理解网站开发的全过程,强调代码的简洁性和逻辑的严谨性,以...