asp下tag的实现,简单介绍与部分代码
2018-09-06 11:08
标签(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