您的位置: 首页 > 技术文档 > 网络编程 > 遭遇ASP类的事件设计
多表查询技巧 回到列表 用数据库生成不重复的流水号
用户名:
密 码: 忘记密码
注册会员 游客参观 论坛帮助
 遭遇ASP类的事件设计

作者:WebCoder 时间: 2006-03-16 文档类型:原创 来自:蓝色理想
浏览统计 total:966 | year:966 | Quarter:966 | Month:966 | Week:501 | today:15

作者的blog: http://blog.csdn.net/oyiboy/

我之所以还是要宣扬用MVC来开发ASP,只是想让面向过程的思考方式变成面向对象的思考方式,这个对于任何一种语言的开发员来说都是有好处的。
MVC是个标准模型,ASP要实现似乎真的是很困难,但是标准是标准,运用是运用,既然ASP要实现这个模型很难,那可以尝试着将MVC模型变形成适合自己的模型。
  “不管白猫黑猫能逮到耗子的就是好猫。”而对于我们开发者来说,不管是什么模型,能正确的指引我们的思路,完美完成项目的模型就是好模型。毕竟用户最终用是我们的程序而不是我们的模型。

  这段时间由于接触到MVC,也知道了Class的运用方式,遭遇到了事件的设计。

  其实具体的事件设计方式我也不是很明白,在QQ里newskyline跟我说了,ASP没办法作Class的事件,

只能模拟。而我呢。算是为达目的不则手段(写程序而以)的,认为模拟也好,非模拟也行,只要达到我想要的效果就是好东西。

  模拟事件的方式有两种:

  第一种:借用了execute/eval,用一个属性收取函数名的字符,然后使用execute/eval来运行函数。
    如:
      obj.OnDataUpdateStart="CheckData"
     其构造为:
      public property let OnDataUpdateStart(byval A_strValue)
      '在此省略了对A_strValue的一些严谨的验证代码。
        p_strOnDataUpdateStart=A_strValue
      end property
    
     事件是触发为:
      public sub DataUpdate()
        '...忽略过程...
        execute(p_strOnDataUpdateStart & "(参数变量一,参数变量二)")
        '...忽略过程...
      end sub
    稍微提一下execute和eval的不同点。
    同样的“x=y”。execute("x=y")的结果是将y值赋给x,而eval("x=y")则会返回一个Boolean值,表示x与y的测试结果,如x等于y则返回true,反之返回false。

  第二种:借用函数指针GetRef,在vbs手册的解释上来看就是绑定事件专用的函数。具体解释如下:

    “返回一个指向一过程的引用,此过程可绑定某事件。”
    具体运用例子,如:
      obj.OnDataUpdateStart="CheckData"
      其构造则改为:
        public OnDataUpdateStart  '其实可以使用get/let模式,想偷懒了,所以直接声明一个公开变量来传递了。

      事件触发则改为:
        public sub DataUpdate()
          '...忽略过程...
          set me.OnDataUpdateStart=GetRef(OnDataUpdateStart)
          me.OnDataUpdateStart("参数变量一","参数变量二")
          '...忽略过程...
        end sub

  以上两种方式可以实现事件绑定,但是,从解释上来说,我比较推崇第二种,相对于execute/eval来说更为严谨一些。

经典论坛讨论帖:
http://www.blueidea.com/bbs/NewsDetail.asp?id=2467752

出处:蓝色理想
责任编辑:moby

◎进入论坛网络编程版块参加讨论

作者文章
用MVC模型引导你的WEB设计思路
全网 本站 论坛
热门搜索:CSS Fireworks 设计比赛 网页制作 Dreamweaver Studio8 Flash
站点最新 站点最新列表
常用JS网页广告代码
xWin之JS版
js版幻灯片效果
用javascript封装的导航菜单
解决局域网互连问题
2006东京国际动漫展开展在即
无组件生成验证码
谈PHP生成静态页面
缓存技术详谈—php
目录,文件操作详谈—php
栏目最新 栏目最新列表
xWin之JS版
js版幻灯片效果
用javascript封装的导航菜单
无组件生成验证码
谈PHP生成静态页面
缓存技术详谈—php
目录,文件操作详谈—php
用php读取xml数据
模板用xml的思路
多表查询技巧

蓝色理想版权申明:除部分特别声明不要转载,或者授权我站独家播发的文章外,大家可以自由转载我站点的原创文章,但原作者和来自我站的链接必须保留(非我站原创的,按照原来自一节,自行链接)。文章版权归我站和作者共有。

转载要求:转载之图片、文件,链接请不要盗链到本站,且不准打上各自站点的水印,亦不能抹去我站点水印。

特别注意:本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

本文暂时没有评论和评分

您的评论
用户名:  口令:
说明:输入正确的用户名和密码才能参与评论。如果您不是本站会员,你可以注册 为本站会员。
注意:文章中的链接、内容等需要修改的错误,请用报告错误,以利文档及时修改。
不评分 1 2 3 4 5
注意:请不要在评论中含与内容无关的广告链接,违者封ID
请您注意:
·不良评论请用报告管理员,以利管理员及时删除。
·尊重网上道德,遵守中华人民共和国的各项有关法律法规
·承担一切因您的行为而直接或间接导致的民事或刑事法律责任
·本站评论管理人员有权保留或删除其管辖评论中的任意内容
·您在本站发表的作品,本站有权在网站内转载或引用
·参与本评论即表明您已经阅读并接受上述条款
推荐文档 | 打印文档 | 评论文档 | 报告错误