仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 585|回复: 8
打印 上一主题 下一主题

[学习教程] ASP教程之对的不敷与修改倡议

[复制链接]
萌萌妈妈 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-16 22:54:30 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
在实现ERP等高端的ASP应用时,用户需要提供核心的经营资料,需要ASP商有很高的信用度。楼上说交互性不好,太牵强了吧。在微软提供的一套框架中,利用asp做网站,开发效率高,使用人数少,减少不必要的开销。交互性是互动方式,是有开发人员决定的。
呵呵,能够进精髓区吗?用了我一天的工夫。
两位张兄的<<在ASP中改良静态分页的功能>>一文给我很年夜的启示,在此暗示感激,但在我想来仍是有一些不敷的中央。

一是没法反响一些随更新的信息。
加设现为一BBS,那末随时更新的信息有
每一个贴子的点击
新加贴子的信息,这些在两位张兄兄的计划中没法主动更新,只要用户在变动查询时才干利用。

二是内存利用太多,现实上关于一个论坛来说,年夜多半人仍是按按次来会见的,没有需要每一个人一个session。

三是处置数据时不便利
只能用数组的体例来举行,不直不雅,可读性差。


关于以上几点,我提出以下改善计划
一利用application,可做到多人配合利用统一数据
二只存进和掏出ID号,别的数据做第二次select
三主动删除过期的application以勤俭内存.
四在增加和删除数据时,从头导进数据

别的优点
呵呵,可使用getstring()了,本来分页时不可的
能够不必1,3了,

代码以下

a_page.asp
-----------------------------------------------------------------
<%
dimapage_pagesize每页纪录数
dimapage_Count总计纪录数
dimapage_PageCount总页数
dimapage_PageForm跳页用的Form
dimapage_PageUrl上一页下一页的链接
dimapage_timeout过时工夫设置(秒)

apage_timeout=300过时工夫设置(秒)
apage_pagesize=20

functionapage_bactive(str_name)判别是不是有这个工具,并删除过时工具
apage_bactive=false
dimitem,s_temp
foritem=1toApplication.contents.count找出一切的Application
s_temp=Application.contents(item)
ifisarray(s_temp)then
ifubound(s_temp)=3ands_temp(0)="apage"then
ifs_temp(1)=str_namethen
apage_bactive=true请求工具存在
else
ifDateDiff("s",s_temp(2),now())>apage_timeoutthen删除过其工具
Application.contents.remove(item)
endif
endif
endif
endif
next
endfunction??b_inuser

subapage_open(str_name,str_table,str_id,str_sqlend)翻开工具并盘算一些数据
工具名,表名,?关头字名,查询前提
dima1,a_ob
ifnotapage_bactive(str_name)then如工具不存在则新建一工具
apage_loadstr_name,str_table,str_id,str_sqlend
endif
a1=application(str_name)
a1(2)=now()
application.lock
application(str_name)=a1
application.unlock
a_ob=a1(3)
apage_Count=ubound(a_ob,2)+1
apage_PageCount=int(apage_Count/apage_pagesize)+1
endsubapage_open

functionapage_get(str_name,page)失掉本页的一切id号
dima1,a_ob,i_stat,i_end,i1,str_actionurl,str_query,str_1,str_2
以下为包管page是准确的
page=cint(page)
ifpage<1thenpage=1
ifpage>apage_PageCountthenpage=apage_PageCount

失掉id号
apage_get=""
a1=application(str_name)
a_ob=a1(3)
i_stat=(page-1)*apage_pagesize
i_end=page*apage_pagesize-1
ifi_end>(apage_Count-1)then
i_end=apage_Count-1
endif

fori1=i_stattoi_end
apage_get=apage_get&a_ob(0,i1)&","
next
往失落过剩的","号
iflen(apage_get)>0then
apage_get=left(apage_get,len(apage_get)-1)
endif


以下为失掉用户换页信息
str_actionurl="http://"&Request.ServerVariables("HTTP_HOST")&Request.ServerVariables("SCRIPT_NAME")
str_query=Request.ServerVariables("QUERY_STRING")
str_1=split(str_query,"&")
str_query=""
fori1=0toubound(str_1)
ifleft(str_1(i1),5)"page="then
response.writeleft(str_1(i1),5)&"<br>"
str_query=str_query&str_1(i1)&"&"
endif
next
str_2=str_actionurl&"?"&str_query
ifpage>1then
apage_PageUrl="<ahref="&str_2&"page=1"&">首页</a>"&_
"<ahref="&str_2&"page="&(page-1)&">前页</a>"
else
apage_PageUrl="首页前页"
endif
ifpage<apage_PageCountthen
apage_PageUrl=apage_PageUrl&"<ahref="&str_2&"page="&(page+1)&">后页</a>"&_
"<ahref="&str_2&"page="&apage_PageCount&">尾页</a>"
else
apage_PageUrl=apage_PageUrl&"后页尾页"
endif
apage_PageForm="<table><formmethod=getname=pageonsubmit=document.location="""&str_2&"page=""+this.page.value;returnfalse;>"&_
"<tr><td>转到第<INPUTTYPE=textNAME=pagevalue="&page&">页"&_
"<INPUTtype=submitstyle=font-size:9ptvalue=GO></table>"

endfunction

subapage_load(str_name,str_table,str_id,str_sqlend)新建或从头导进一工具

sql="select"&str_id&"from"&str_table&str_sqlend
setrs=conn.execute(sql)
dima2(3)
a2(0)="apage"
a2(1)=str_name
a2(2)=now()
a2(3)=rs.getrows()
application.lock
application(str_name)=a2
application.unlock
endsubapage_load

subapage_update(str_name,str_table,str_id,str_sqlend)更新数据时利用
ifapage_bactive(str_name)then如工具存在则从头导进工具
apage_loadstr_name,str_table,str_id,str_sqlend
endif
endsub

%>


附:test.asp
----------------------------------------------------------------------
<!--#includefile="conn.asp"-->
<!--#includefile="a_page.asp"-->
<%
建表
createtablepage
(page_idINT?notnullIDENTITY(1,1),
page_valueintnotnull,
class_idintnotnull
)
subadd_test到场测试用数据
dimi1asint
fori1=0to1000
sql="insertintopage(page_value,class_id)values("&i1&",1)"
conn.executesql
next
fori1=0to1000
sql="insertintopage(page_value,class_id)values("&i1&",2)"
conn.executesql
next
apage_update"test","page","page_id",""
apage_update"test1","page","page_id","whereclass_id=1"
endsubadd_test
add_test要到场时往失落

dimstr_test
apage_open"test","page","page_id",""
apage_open"test1","page","page_id","whereclass_id=1"
str_test=apage_get("test",request("page"))
str_test=apage_get("test1",request("page"))
sql="select??*frompagewherepage_idin("&str_test&")"
setrs=conn.execute(sql)
response.writeresponse.write"<tableborder=1><tr><td>"&rs.getstring(2,,"<td>","<tr><td>")&"</table>"
或可
whilenotrs.eof
response.write"<ahref=hahafish.asp?id="&rs("page_id")&">"&rs("page_value")&"</a><br>"
rs.movenext
wend


response.writeapage_PageUrl
response.writeapage_pageform
%>


使用filesystemobject,可以对服务器上的文件进行操作,浏览、复制、移动、删除等。有ado的支持,asp对数据库的操作非常得心应手。你甚至可以像使用本地数据库那样,管理远程主机上的数据库,对表格、记录进行各种操作。
若相依 该用户已被删除
沙发
发表于 2015-1-20 06:04:57 | 只看该作者
ASP(ActiveServerPages)是Microsfot公司1996年11月推出的WEB应用程序开发技术,它既不是一种程序语言,也不是一种开发工具,而是一种技术框架,不须使用微软的产品就能编写它的代码,能产生和执行动态、交互式、高效率的站占服务器的应用程序。
板凳
发表于 2015-1-25 23:35:10 | 只看该作者
尽管MS自己讲C#内核中更多的象VC,但实际上我还是认为它和Java更象一些吧。首先它是面向对象的编程语言,而不是一种脚本,所以它具有面向对象编程语言的一切特性,比如封装性、继承性、多态性等等,这就解决了刚才谈到的ASP的那些弱点。
兰色精灵 该用户已被删除
地板
发表于 2015-2-4 13:02:20 | 只看该作者
作为IE上广为流传的动态网页开发技术,ASP以它简单易学博得了广大WEB程序爱好这的青睐,而且它对运行环境和开发品台的不挑剔,以及有大量有效的参考手册,极大的推广了它的发展。
简单生活 该用户已被删除
5#
发表于 2015-2-9 22:50:56 | 只看该作者
哪些内置对象是可以跳过的,或者哪些属性和方法是用不到的?
分手快乐 该用户已被删除
6#
发表于 2015-2-28 03:30:46 | 只看该作者
ASP.Net和ASP的最大区别在于编程思维的转换,而不仅仅在于功能的增强。ASP使用VBS/JS这样的脚本语言混合html来编程,而那些脚本语言属于弱类型、面向结构的编程语言,而非面向对象,这就明显产生以下几个问题:
再现理想 该用户已被删除
7#
发表于 2015-3-9 20:19:24 | 只看该作者
兴趣爱好,那么你无须学编程,申请一个域名和空间,在网上下载一些免费开源的CMS系统,你不用改代码,只须熟悉它们的后台操作,像office一样简单方便,很快就能建一个站点,很多站长都是这样做的
小女巫 该用户已被删除
8#
发表于 2015-3-17 00:27:37 | 只看该作者
如何更好的使自己的东西看上去很不错等等。其实这些都不是问题的实质,我们可以在实践中不断提升自己,不断充实自己。
小魔女 该用户已被删除
9#
发表于 2015-3-23 09:46:49 | 只看该作者
Session:这个存储跟客户端会话过程的数据,默认20分钟失效
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-11-14 14:10

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表