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

时间:2021-05-28

标签(Tag)是什么?
标签是一种更为自由、灵活,完全由用户决定的分类方式,而非传统的由网站定义的分类。您可以根据自己的理解,对发表的文章、上传的图片、音乐、视频等各种文件添加一个或多个标签,进行灵活的描述。
添加标签(Tag)有什么作用?
标签体现了群体的力量,使得用户之间可以通过相近的内容产生更多的关联和互动。您在发表日志或上传文件时添加了Tag,就可以看到woku.com所有和您使用了相同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


声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章