ASP教程之日历源程序
我想详细了解ASP整站代码与PSP整站代码有什么优缺点,那个更好,更安全,更用容易维护,和管理。。。程序|日历亮显现当天,可以拔取某天显现,并可以到场事务。<%
*******************************************************
*ASP101SampleCode-http://www.asp101.com*
**
*Thiscodeismadeavailableasaservicetoour*
*visitorsandisprovidedstrictlyforthe*
*purposeofillustration.*
**
*Pleasedirectallinquiriestowebmaster@asp101.com*
*******************************************************
%>
<%
***BeginFunctionDeclaration***
NewandimprovedGetDaysInMonthimplementation.
ThankstoFlorentRenucciforpointingoutthatI
couldeasilyusethesamemethodIusedforthe
revisedGetWeekdayMonthStartsOnfunction.
FunctionGetDaysInMonth(iMonth,iYear)
DimdTemp
dTemp=DateAdd("d",-1,DateSerial(iYear,iMonth+1,1))
GetDaysInMonth=Day(dTemp)
EndFunction
PreviousimplementationonGetDaysInMonth
FunctionGetDaysInMonth(iMonth,iYear)
SelectCaseiMonth
Case1,3,5,7,8,10,12
GetDaysInMonth=31
Case4,6,9,11
GetDaysInMonth=30
Case2
IfIsDate("February29,"&iYear)Then
GetDaysInMonth=29
Else
GetDaysInMonth=28
EndIf
EndSelect
EndFunction
FunctionGetWeekdayMonthStartsOn(dAnyDayInTheMonth)
DimdTemp
dTemp=DateAdd("d",-(Day(dAnyDayInTheMonth)-1),dAnyDayInTheMonth)
GetWeekdayMonthStartsOn=WeekDay(dTemp)
EndFunction
FunctionSubtractOneMonth(dDate)
SubtractOneMonth=DateAdd("m",-1,dDate)
EndFunction
FunctionAddOneMonth(dDate)
AddOneMonth=DateAdd("m",1,dDate)
EndFunction
***EndFunctionDeclaration***
DimdDateDateweredisplayingcalendarfor
DimiDIMDaysInMonth
DimiDOWDayOfWeekthatmonthstartson
DimiCurrentVariableweusetoholdcurrentdayofmonthaswewritetable
DimiPositionVariableweusetoholdcurrentpositionintable
Getselecteddate.Therearetwowaystodothis.
FirstcheckifwewerepassedafulldateinRQS("date").
Ifsouseit,ifnotlookforseperatevariables,puttingthemtogeterintoadate.
Lastlycheckifthedateisvalid...ifnotusetoday
IfIsDate(Request.QueryString("date"))Then
dDate=CDate(Request.QueryString("date"))
Else
IfIsDate(Request.QueryString("month")&"-"&Request.QueryString("day")&"-"&
Request.QueryString("year"))Then
dDate=CDate(Request.QueryString("month")&"-"&Request.QueryString("day")&"-"
&Request.QueryString("year"))
Else
dDate=Date()
TheannoyinglybadsolutionforthoseofyourunningIIS3
IfLen(Request.QueryString("month"))0OrLen(Request.QueryString("day"))0Or
Len(Request.QueryString("year"))0OrLen(Request.QueryString("date"))0Then
Response.Write"Thedateyoupickedwasnotavaliddate.Thecalendar
wassettotodaysdate.<BR><BR>"
EndIf
TheelegantsolutionforthoseofyourunningIIS4
IfRequest.QueryString.Count0ThenResponse.Write"Thedateyoupickedwasnot
avaliddate.Thecalendarwassettotodaysdate.<BR><BR>"
EndIf
EndIf
Nowwevegotthedate.NowgetDaysinthechoosenmonthandthedayoftheweekitstartson.
iDIM=GetDaysInMonth(Month(dDate),Year(dDate))
iDOW=GetWeekdayMonthStartsOn(dDate)
%>
<!--OuterTableissimplytogettheprettyborder-->
<TABLEBORDER=10CELLSPACING=0CELLPADDING=0>
<TR>
<TD>
<TABLEBORDER=1CELLSPACING=0CELLPADDING=1BGCOLOR=#99CCFF>
<TR>
<TDBGCOLOR=#000099ALIGN="center"COLSPAN=7>
<TABLEWIDTH=100%BORDER=0CELLSPACING=0CELLPADDING=0>
<TR>
<TDALIGN="right"><AHREF="./calendar.asp?date=<%=
SubtractOneMonth(dDate)%>"><FONTCOLOR=#FFFF00SIZE="-1"><<</FONT></A></TD>
<TDALIGN="center"><FONTCOLOR=#FFFF00></p>结论:和PHP一样,ASP简单而易于维护,很适合小型网站应用,通过DCOM和MTS技术,ASP甚至还可以完成小规模的企业应用,但ASP的致命缺点就是不支持跨平台的系统,在大型项目开发和维护上非常困难。 我认为比较好的方法是找一些比较经典的例子,每个例子比较集中一种编程思想而设计的。 代码逻辑混乱,难于管理:由于ASP是脚本语言混合html编程,所以你很难看清代码的逻辑关系,并且随着程序的复杂性增加,使得代码的管理十分困难,甚至超出一个程序员所能达到的管理能力,从而造成出错或这样那样的问题。 从事这个行业,那么你可以学ASP语言,简单快速上手,熟练dreamweav排版,写asp代码,熟练photoshop处理图片,打好基础就行了 ASP也是这几种脚本语言中最简单易学的开发语言。但ASP也是这几种语言中唯一的一个不能很好支持跨平台的语言。 因为ASP脚本语言非常简单,因此其代码也简单易懂,结合HTML代码,可快速地完成网站的应用程序。 他的语法和设计思路和VB完全相同,导致很多ASP的书都留一句“相关内容请参考VB的相关教材....”更糟糕的是,相当多的ASP教程混合了Javascript,VBscript等等脚本语言,搞的初学者。 ASP的语言不仅仅只是命令格式差不多,而是包含在<%%>之内的命令完全就是VB语法。虽然ASP也是做为单独的一个技术来提出的,但他就是完全继承了VB所有的功能。 ASP(ActiveServerPages)是Microsfot公司1996年11月推出的WEB应用程序开发技术,它既不是一种程序语言,也不是一种开发工具,而是一种技术框架,不须使用微软的产品就能编写它的代码,能产生和执行动态、交互式、高效率的站占服务器的应用程序。 弱类型造成潜在的出错可能:尽管弱数据类型的编程语言使用起来回方便一些,但相对于它所造成的出错几率是远远得不偿失的。 还有如何才能在最短的时间内学完?我每天可以有效学习2小时,双休日4小时。
页:
[1]