我之所以还是要宣扬用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来说更为严谨一些。
分享到:
相关推荐
《ASP程序设计》 习题解答 《ASP程序设计》备课笔记 《ASP程序设计》教学大纲 《ASP程序设计》考试大纲 《ASP程序设计》实验备课笔记 《ASP程序设计》实验大纲 《ASP程序设计》实验指导书 《ASP程序设计》期末...
Asp.net类及Asp类毕业设计课题
毕业设计 asp毕业设计 asp毕业设计 asp毕业设计 asp毕业设计 asp毕业设计 asp毕业设计 asp毕业设计 asp毕业设计 asp毕业设计 asp毕业设计 asp毕业设计 asp毕业设计 asp毕业设计 asp毕业设计 asp
ASP.NET公益类网站展示页设计
ASP.NET高级程序设计ASP.NET高级程序设计ASP.NET高级程序设计ASPASP.NET高级程序设计ASP.NET高级程序设ASP.NET高级程序设计ASP.NET高级程序设计ASP.NET高级程序设计ASP.NET高级程序设计ASP.NET高级程序设计ASP.NET...
ASP.NET程序设计实验报告(期末课程设计),原创加经典~呵呵,特地拿上来跟大家分享~希望对大家有用~
asp课程设计 电子商务 《ASP动态网页设计》是计算机应用专业中一门实践性很强的综合应用课程,其内容涉及到很多计算机基础理论知识,主要有HTML标记语言、VB程序设计、数据库原理、网络基础等相关课程。它要求学生...
全书主要介绍了ASP.NET应用程序基础、C#语言、Web页面设计基础、Web控件、ASP.NET内置对象等,在ASP.NET中使用XML,以SQLServer2005为基础进行ADO.NET数据库编程,使用用户控件、自定义控件,创建Web服务。...
ASP.NET高级程序设计(第3版)源码 ASP.NET高级程序设计(第3版)源码 ASP.NET高级程序设计(第3版)源码 ASP.NET高级程序设计(第3版)源码 ASP.NET高级程序设计(第3版)源码
第2章讲解 ASP.NET网页设计的基本内容。第3章讲解ASP.NET的文件操作,实现文本模式和图形模式两种计数器。第4章讲解用户注册系统,包含 ASP.NET的数据验证技术和数据库链接技术(ADO.NET)。第5章深入讲解ASP.NET技术...
asp.net网上商城购物系统毕业设计源码及毕业论文课程设计 http://www.kilter.tk http://hi.baidu.com/yanzi52351
内容概要:本电商系统主要使用ASP.NET技术+BootStrap前端框架+SQLServer数据库,通过对该系统的设计,简化代码实现过程,保留核心功能,可以在实践过程中掌握ASP.NET技术的部分使用方法,如对三层架构开发模式的熟悉...
ASP.NET 课程设计 实例 编程 校友录课程设计 (半成品)
ASP.NET公司网站设计与实现毕业设计论文
天轰穿系列教程之-21Asp.Net中的事件(页面事件)天轰穿系列教程之-21Asp.Net中的事件(页面事件)天轰穿系列教程之-21Asp.Net中的事件(页面事件)天轰穿系列教程之-21Asp.Net中的事件(页面事件)天轰穿系列教程之-21Asp...
ASP.NET数据库网站设计教程 详细的数据库教程 课件+源码
ASP.NET4高级程序设计(第4版).zip.001|中文版.完整书签 《ASP.NET 4高级程序设计(第4版)》是ASP.NET领域的鸿篇巨制,全面讲解了ASP.NET4的各种特性及其背后的工作原理,并给出了许多针对如何构建复杂、可扩展的网站...
asp.net+access完成的课程设计
ASP.NET动态网页设计大作业报告