ASP应用的四个心得分享

学好一门编程语言有两个条件是必不可少的,一是理论与实践结合,在实际例程去验证书本上的理论能加深你对理论的理解;二是学会总结,把学习、运用中的心得体会记下来,当成一种经验或者教训加以提炼并在日后的应用中加以改进,一定能提高你对这门编程语言的认识。以下是笔者在学习与运用ASP编程中的一点经验,希望能对大家有所帮助。

         学好一门编程语言有两个条件是必不可少的,一是理论与实践结合,在实际例程去验证书本上的理论能加深你对理论的理解;二是学会总结,把学习、运用中的心得体会记下来,当成一种经验或者教训加以提炼并在日后的应用中加以改进,一定能提高你对这门编程语言的认识。以下是笔者在学习与运用ASP编程中的一点经验,希望能对大家有所帮助。
     
     
                                    ASP页面内VBs cript和Js cript的交互
                  
      ASP具备管理不同语言脚本程序的能力,能够自动调用合适的脚本引擎以解释脚本代码和执行内置函数。ASP开发环境提供了两种脚本引擎,即VBs cript(缺省)和Js cript。不过,开发者并没有被限制于只能使用这两种语言,只要能够提供合适的ActiveX脚本引擎就能使用任何脚本语言。
     
      脚本语言的选择往往基于许多不同原因:它可能是开发者最为熟悉的语言,可能是对给定工程来说能够提供最多特色支持的,也有可能是最具效率的。不同的环境和要求使得我们在选择脚本语言时注重不同的因素,同时也使得我们在某些时候面临选定的脚本语言不能直接提供其它语言固有的函数这一问题,或某个脚本已经写成但用的却是另外一种脚本语言。
     
      此时应该怎么办?是否需要用当前所用的脚本语言重写这些脚本?或者说,是否有可能在一种脚本语言中调用其它脚本语言的内置函数?本文要说明的就是在ASP应用中如何让VBs cript脚本和Js cript脚本交互以最大限度地获得两种脚本语言的特色支持。
     
         一、VBs cript和Js cript的内置函数
     
      在VBs cript和Js cript中,有大量的内置函数功能是相同或类似的。然而,在一种脚本语言中内置的函数并非总是在另外一种脚本语言中也有对应的函数。例如,VBs cript提供了许多用于操作字符串和格式化数据的函数,这些函数在Js cript中并不存在。这些函数包括StrReverse()、Filter()以及FormatCurrency()等。在另一方面,Js cript所提供的用于管理数组、字符串编码等的函数在VBs cript中也没有定义,如join()、reverse()、pow()、位操作、escape()和unescape()等。
     
         那么,如果在Js cript程序中需要一个VBs cript函数该怎么办呢?
     
         二、异种脚本的互相调用
     
         如果需要在Js cript脚本中调用一个VBs cript中内置的函数,则应该写一个VBs cript用户定义函数(在这里调用VBs cript内置函数),然后在Js cript脚本中象调用公用Js cript函数一样调用这个用户定义函数。
     
         例如,如果要调用的VBs cript内置函数是FormatCurrency(),则可以声明如下自定义函数:
     
       < s cript LANGUAGE="VBs cript" RUNAT="SERVER">
       Function FormatValue(Value)
        FormatValue = FormatCurrency(Value)
       End Function
       < /s cript>
     
         接下来在Js cript代码中就可以象普通Js cript函数一样调用FormatValue()了。用类似的方法也可以实现VBs cript代码调用Js cript函数。
     
         应用同样的规则,我们可以在任何脚本内调用任何用户定义函数。不过,从Js cript脚本内调用一个不带参数的VBs cript过程(Sub)时应略加注意,此时在Js cript中应该象调用一个不带参数的Js cript函数一样调用它,如用foo()调用VBs cript Sub foo过程。
     
         三、数据共享
     
         在某些情形下混合运用VBs cript和Js cript函数是非常有用的,但在不同语言脚本之间共享数据也可能很有用。实现这种共享的方法很简单:不管使用的是什么语言,只要是在页面级声明的变量就可以任意引用。
     
         对象的使用方法也相似,可以任意选用合适的语言读取、修改属性或调用对象的方法。当然给定对象的属性和方法是由创建该对象实例的语言所定义的。正如上例VBs cript的过程调用,当从Js cript中调用一个不带参数的VBs cript对象的方法时,其调用方法也遵从Js cript的调用规则,反之亦然。
     
         四、数组管理
     
         数组共享问题稍微复杂一点。虽然数组也象其它变量一样可以在不同语言脚本之间共享,但必须注意兼容方面的问题。
     
         VBs cript数组在Js cript下可以用VBs cript的符号引用,即用myArray(2)引用数组元素而不是Js cript的数组元素引用符号myArray[2]。此外,还可以使用一个特殊的Js cript对象——VBArray对象将VBs cript数组转换为Js cript数组。下面的代码从VBs cript数组myVBArray创建Js cript数组myJSArray:
     
       var Temp = new VBArray(myVBArray)
       var myJSArray
       myJSArray = Temp.toArray()
     
         上述代码首先创建一个临时的VBArray对象,然后使用它的toArray()方法将自己转换为Js cript数组。此后就可以象普通Js cript数组一样使用myJSArray,如myJSArray[1]。但应当注意的是,toArray()方法将把一个多维的VBArray转换为一维的Js cript数组。
     
         从VBs cript中引用Js cript数组更为复杂。虽然在VBs cript中我们可以直接访问Js cript数组相关的方法和属性,但没有直接访问Js cript数组的单个元素的方法。也就是说,我们可以在VBs cript脚本中读取Js cript数组的长度属性,如下所示:
     
         x = myJSArray.length
     
         但无法直接读取该数组的单个元素,下面的VBs cript代码是不正确的:
     
         x = myJSArray(3)
     
         解决该问题的一个可行的方法是执行一个转换过程,如下面的代码所示,此处假定VBs cript是缺省的脚本语言:
     
      < %
        Dim Temp
        Dim myVBArray
        Temp = myJSArray.join(", ")
        myVBArray = Split(Temp, ", ")
      %>
     
         此处的Js cript join()方法将数组myJSArray元素转换到一个以逗号为分割符的字符串,VBs cript Split()函数将字符串转换为VBs cript数组。注意这里我们是在VBs cript环境下调用Js cript的join方法。依照此例,我们可以通过自定义VBs cript函数来模拟Js cript的VBArray对象的toArray()方法以实现Js cript数组到VBs cript数组的转换。

时间: 2025-01-19 08:50:07

ASP应用的四个心得分享的相关文章

ASP动态网页制作技术经验分享_应用技巧

学好一门编程语言有两个条件是必不可少的,一是理论与实践结合.在实际例程去验证书本上的理论能加深你对理论的理解:二是学会总结,把学习.运用中的心得体会记下来,当成一种经验或者教训加以提炼并在日后的应用中加以改进,一定能提高你对这门编程语言的认识.以下是笔者在学习与运用ASP编程中的两点经验,希望能对大家有所帮助. ASP页面内VBScript和JScript的交互 ASP具备管理不同语言脚本程序的能力,能够自动调用合适的脚本引擎以解释脚本代码和执行内置函数.ASP开发环境提供了两种脚本引擎,即VB

百度索引和site差别太大经过投诉放出来后的心得分享

对于很多站长而言,网站被K或者是被百度降权后的一段时间里,网站的收录始终不放出来是个很让人头疼的问题,在这个过程中有个考核期,这个考核的时间在一个月左右,在这个期间每天都要扎实的坚持网站的内容和外链建设,尤其要把好这两方面的质量关,内容和外链在于精不在于多,这个过程是比较痛苦的,因为你每天做的事情看不到任何成效 ,尤其体现在收录的增长上,没有收录很难有好的排名,但是这个考核期过了以后该怎么善意的提醒一下百度把自己的网站解救出来呢,先来说说我自己的亲身体验. 我手头有一个朋友的网站,因为采集被K之

有关SEO关键字策略规划的技巧心得分享

网络上谈SEO的文章是漫天飞舞,有基础性教程.有心得分享.也有东搬西凑的.但是对SEO关键字策略规划的系统性文章相对较少,菜根谭分享下自己这方面的一些心得感悟. 首先,对SEO有些了解的应该都知道,SEO是一个系统工程,有站内代码标签优化.站内内容优化.站外链接建设.域名空间因素这几大模块.但是,菜根谭网络营销机构认为,在具体操作这些细节之前,我们应该先进行关键字策略分析. 经常看见很多网站的SEO不重视关键字分析,网站关键字都是凭空想象,以主观意志来选择关键字,或者一味选择广泛且竞争力的关键字

美图秀秀排版使用心得分享

给各位美图秀秀软件的使用者们来详细的分享一下排版使用心得. 分享一览:   进入美图秀秀"拼图"这个界面后,我们就可以添加图片了,可以是多个,点击会出现你要添加图片的路径,选择你要添加照片吧.点击确定进入. 此时界面就会出现你添加进入的照片,最上面的菜单栏,有很多选项,我们可以自己选择排版,也可以让系统帮忙排版.点击自由排版. 点击其中任意一张图片,图片的上方有一箭头可以旋转图片,四个角可以变动图片的大小.位置也可以挪动,按着图片拖动鼠标就可以了. 右下角有个设置图标,可以添加亮度,背

王者荣耀吕布怎么出装 吕布出装及打法心得分享

给各位王者荣耀的玩家们来详细的解析分享一下吕布出装以及打法的心得. 心得分享: 吕布不论是团战还是单线??敌,首先肯定是先使用2技能给自己加上一个护盾,再有了护盾的前提下,我们在开1技能和敌人硬盘一波. 而且吕布的3技能也就是他的大招,既可以追击逃跑的敌人收割,也可以留人,还可以在团战的时候一个大招下去,击飞一片敌人,并减速,另外还能造成的不小伤害,给我们队伍一个输出的环境. 吕布这个英雄总体来讲是一个比较无脑的英雄,操作简单,只要会释放技能就行了,对了,说到这里差点忘记讲了,吕布的大招还有一个

剑网3十人云湖战场个人战场指挥心得分享

给各位剑网3的玩家们来详细的解析分享一下十人云湖战场个人战场指挥的心得. 心得分享: 一.获胜方式 1. 双方中首先达到一百分的一方获得胜利 2. 时间耗尽分数最高一方获胜 二.人员配置 云湖战场是所有战场中最为简单的一个战场,只要求占住中间高台尽量多的击杀对方和开启旗帜获得分数.也可以理解为抱团互群. 人员配置上,以团战职业和打奶职业优先,推荐职业有藏剑,苍云,丐帮,田螺,剑纯,毒奶,花间,秀奶,歌奶. 讲解一下人员配置: 云湖为十人战场最为优秀的配置为藏剑2人,苍云丐帮各1人.藏剑这个毫无疑

Asp.net跨站脚本攻击XSS实例分享

 Asp.net跨站脚本攻击XSS实例分享 常用攻击代码: http://target/vuln-search.aspx?term= </XSS/*-*/STYLE=xss:e/**/xpression(alert('XSS'))> Redirection Attack http://target/vuln-search.aspx?term= </XSS/*-*/STYLE=xss:e/**/xpression(window.location="http://www.xxx

BootStrap的Datepicker控件使用心得分享_javascript技巧

2013年Bootstrap火了,2014年Bootstrap将继续受到更多人的喜欢,它不仅拥有一套完整漂亮的UI,而且爱好者们为其开发扩展了很多有用的插件和主题!让其拥有无限可能! 公司喜欢使用各种开源免费的框架,bootstrap就非常好用,而且框架布局很漂亮,用起来也很简单.今天遇到要使用它的datepicker这个控件. 问题是:两个时间点,分为开始时间和结束时间,结束时间必须在开始时间之后.于是一顿研究,从上午研究到3点才解决问题. 总结了一下问题所在.主要原因是项目里用的jquery

ASP知识讲座四_php基础

ASP内置组件 前三讲中,我们主要介绍了ASP提供的四大内置对象:l Response对象:向浏览器发送信息.l Request对象:访问从浏览器发送到服务器的信息(如获取表单数据).l Session对象:存储.读取特定用户对话信息.l Application对象:存储.读取所有用户共享的应用程序信息.此外还有Server对象和ObjectContext对象我们将在以后的实例中学习(提示:其实不经意之间你已经可以利用所学知识编写网上聊天室了).本讲的内容是使用ASP的ActiveX Serve