asp下tag的实现,简单介绍与部分代码

2018-09-06 11:08

阅读:490

  标签(Tag)是什么?
标签是一种更为自由、灵活,完全由用户决定的分类方式,而非传统的由网站定义的分类。您可以根据自己的理解,对发表的文章、上传的图片、音乐、视频等各种文件添加一个或多个标签,进行灵活的描述。
添加标签(Tag)有什么作用?
标签体现了群体的力量,使得用户之间可以通过相近的内容产生更多的关联和互动。您在发表日志或上传文件时添加了Tag,就可以看到有和您使用了相同Tag的日志和文件。
标签频道中不同大小、粗细的文字代表什么?
使用不同大小、粗细字体的标签,代表着标签不同的使用频率。字体越大、越粗,说明这些标签的使用频率越高。
添加标签时需要注意些什么?
①多个标签之间请用空格分隔。
②每个标签的最大长度为10个汉字。
③每篇日志或每个文件最多只能添加10个标签,这包括您自己以及其他用户添加的标签。
我可以在别人发表的日志和文件中添加标签吗?
您可以根据浏览对象的阅读权限来判断是否可以添加标签。公开的日志或文件,所有用户都可以添加标签;仅供好友浏览的日志,只有好友和作者能添加标签;仅作者可以浏览的日志或文件,只有作者能够添加标签。当然,无论是谁添加的标签,都只有该日志或文件的作者可以修改或删除这些标签。
所以呢我找了些实现tag功能的asp代码,仅供参考
复制代码 代码如下:
*********************************************************
目的:定义TTag类
输入:无
返回:无
*********************************************************
ClassTTag

PublicID
PublicName
PublicIntro
PublicOrder
PublicCount


PublicPropertyGetEncodeName
EncodeName=Server.URLEncode(Name)
EndProperty

PublicPropertyGetUrl
Url=ZC_BLOG_HOST&catalog.asp?&tags=&Server.URLEncode(Name)
EndProperty

PublicPropertyGetHtmlUrl
HtmlUrl=TransferHTML(Url,[html-format])
EndProperty

PublicPropertyGetHtmlIntro
HtmlIntro=TransferHTML(Intro,[html-format])
EndProperty

PublicPropertyGetHtmlName
HtmlName=TransferHTML(Name,[html-format])
EndProperty

PublicPropertyGetRssUrl
RssUrl=ZC_BLOG_HOST&sydication.asp?tags=&ID
EndProperty

PublicFunctionPost()

CallCheckParameter(ID,int,0)
CallCheckParameter(Order,int,0)

Name=FilterSQL(Name)
Name=TransferHTML(Name,[normalname])
IfLen(Name)=0ThenPost=False:ExitFunction

Intro=FilterSQL(Intro)
Intro=TransferHTML(Intro,[html-format])


IfID=0Then
objConn.Execute(INSERTINTO[blog_Tag]([tag_Name],[tag_Order],[tag_Intro])VALUES(&Name&,&Order&,&Intro&))
Else
objConn.Execute(UPDATE[blog_Tag]SET[tag_Name]=&Name&,[tag_Order]=&Order&,[tag_Intro]=&Intro&WHERE[tag_ID]=&ID)
EndIf

Post=True

EndFunction


PublicFunctionLoadInfoByID(tag_ID)

CallCheckParameter(tag_ID,int,0)

DimobjRS
SetobjRS=objConn.Execute(SELECT[tag_ID],[tag_Name],[tag_Intro],[tag_Order],[tag_Count]FROM[blog_Tag]WHERE[tag_ID]=&tag_ID)

If(NotobjRS.bof)And(NotobjRS.eof)Then

ID=objRS(tag_ID)
Name=objRS(tag_Name)
Intro=objRS(tag_Intro)
Order=objRS(tag_Order)
Count=objRS(tag_Count)

LoadInfoByID=True

EndIf

objRS.Close
SetobjRS=Nothing

IfIsNull(Intro)ThenIntro=

EndFunction

PublicFunctionLoadInfoByArray(aryTagInfo)

IfIsArray(aryTagInfo)=TrueThen
ID=aryTagInfo(0)
Name=aryTagInfo(1)
Intro=aryTagInfo(2)
Order=aryTagInfo(3)
Count=aryTagInfo(4)
EndIf

IfIsNull(Intro)ThenIntro=

LoadInfoByArray=True

EndFunction


PublicFunctionDel()

CallCheckParameter(ID,int,0)
If(ID=0)ThenDel=False:ExitFunction

Dims
Dimi
DimobjRS

SetobjRS=Server.CreateObject(ADODB.Recordset)
objRS.CursorType=adOpenKeyset
objRS.LockType=adLockReadOnly
objRS.ActiveConnection=objConn
objRS.Source=

objRS.Open(SELECT[log_ID],[log_tag]FROM[blog_Article]WHERE[log_Tag]LIKE%{&ID&}%)

If(NotobjRS.bof)And(NotobjRS.eof)Then
DoWhileNotobjRS.eof
i=objRS(log_ID)
s=objRS(log_tag)
s=Replace(s,{&ID&},)
objConn.Execute(UPDATE[blog_Article]SET[log_tag]=&s&WHERE[log_ID]=&i)
objRS.MoveNext
Loop
EndIf
objRS.Close

objConn.Execute(DELETEFROM[blog_Tag]WHERE[tag_ID]=&ID)
Del=True
EndFunction


PublicFunctionMakeTemplate(s)

s=Replace(s,<#article/tag/id#>,ID)
s=Replace(s,<#article/tag/name#>,HtmlName)
s=Replace(s,<#article/tag/intro#>,HtmlIntro)
s=Replace(s,<#article/tag/count#>,Count)
s=Replace(s,<#article/tag/url#>,HtmlUrl)
s=Replace(s,<#article/tag/encodename#>,EncodeName)

MakeTemplate=s

EndFunction


EndClass
*********************************************************


*********************************************************
目的:Tags读取
*********************************************************
FunctionGetTags()

Dimi,j,k,l

DimaryAllData
DimarySingleData()

EraseTags

DimobjRS

SetobjRS=objConn.Execute(SELECTTOP1[tag_ID]FROM[blog_Tag]ORDERBY[tag_ID]DESC)
If(NotobjRS.bof)And(NotobjRS.eof)Then
i=objRS(tag_ID)
ReDimTags(i)
EndIf

SetobjRS=objConn.Execute(SELECT[tag_ID],[tag_Name],[tag_Intro],[tag_Order],[tag_Count]FROM[blog_Tag]ORDERBY[tag_ID]ASC)
If(NotobjRS.bof)And(NotobjRS.eof)Then

aryAllData=objRS.GetRows(objRS.RecordCount)
objRS.Close
SetobjRS=Nothing

k=UBound(aryAllData,1)
l=UBound(aryAllData,2)
Fori=0Tol
SetTags(aryAllData(0,i))=NewTTag
Tags(aryAllData(0,i)).LoadInfoByArray(Array(aryAllData(0,i),aryAllData(1,i),aryAllData(2,i),aryAllData(3,i),aryAllData(4,i)))
Next

EndIf

GetTags=True

EndFunction



评论


亲,登录后才可以留言!