Response.End()用法

ASP开发中可能有时候会用大段的if... else 的判断,不过如果是动态Response.write的内容,你想更方便阅读代码,可以用Response.End()来终端ASP的执行,也就类似于Break的用法,举个例子:

   if  (userid = "" ) or (password = "" then
      Response.Write(
" <script lanuage=javascript>alert('UserName or Password is Empty!');location.href='../default.asp';</script> " )

    Response.End() ‘这里进行了中断
  
end   if

  下面是不为空进行读取数据库的操作,省略了n行代码

这样当传入的用户名或密码为空时,自动write提示信息信息,然后Response.End()中断程序,从而达到if 。。。else的作用。

另外使用Response.End的时候,就是我们日常调试程序的时候,比如

相输出拼接的SQL语句,而不想执行下面的代码,那么可以这么做
sql = " select * from userinfo  "

response.Write(sql)

response.End()

rs.open sql ,conn,
1 , 1   ' 这句是不会执行的


如果怕加入Response.End()的地方过多而正式发布时候不好注释掉的化,可以用个函数将其封装起来,如下面代码:
sub  debug()
  Response.End()
end sub


上面的代码修改如下:

sql
= " select * from userinfo  "

response.Write(sql)

debug()

rs.open sql ,conn,
1 , 1   ' 这句是不会执行的


这样当进行正式发布时,将函数debug中的语句注释掉,就可以起到调试的作用,不过这个也有个问题就是,如果你使用太多的debug(),可能在调试的时候程序会不能按照需要进行中断,可能有时候你不希望这些地方中断执行,那么我们来进一步重构debug()函数,如下:
sub  debug(isBreak)
  
' isBreak是boolean值的参数,如果设置为true的时候则进行中断,否则,不进行中断处理
   if  isBreak  then
     Response.End()
  
end
end sub


使用时候代码如下:
sql = " select * from userinfo  "

response.Write(sql)

debug(
false )

rs.open sql ,conn,
1 , 1   ' 这句是会执行的

rs.close()

sql
= " select * from product  "

response.write(sql)

debug(
true )

rs.open sql,conn,
1 , 1   ' 这句不会执行

好了,这样基本上可以满足我们控制中断的需求了,不过只是简单的进行了分析,其实还很不完善,调试需求可能还有很多,需要满足,还需要进一步重构。其实程序开发就是一个重构重构再重构的过程,要不怎么会出来那么多的设计模式,都是前人从实际开发重构过程总结出来的经验,值得大家借鉴。
 
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值