首页 > 开发 > .Net > 正文

[c#]asp.ent下开发中Tag的开发技巧

2020-04-24 21:59:16
字体:
来源:转载
供稿:网友
网站开发常用关键字(tag),一般需要获得最多的被采用的Tag,也就是流行词。
通常思路是将关键字tag保存到单独表中,然后在其他表中根据一组id进行对多个关键字进行标识。因为一个文章可以选择多个tag,查询的时候颇为麻烦。
所以我在开发中利用了这样的方法,当然不见得多高明 :),分享下经验。

将tag直接保存在文章的表中,如Tag字段,tag为“c#”和“.net”,则Tag字段值为“c#/.net”就是依/符号分割tag,这样数据库中保存的是字符串了。单文章显示的时候可以直接分割成数组显示,减少表的关联,提高了效率。
当需要显示最近流行词的时候。
查询所有的tag
select tag from 表
利用DataReader把输出结果相加起来。然后根据分隔符转化为字符串,剩下的就是对字符串进行排序,根据tag重多少进行。并返回重复的数量,见代码。为方便查看,我都写在了一个aspx页面中了。
代码如下:
<%@ Page Language="C#" %>
<%@ Import Namespace="System.Data" %>
<%@ Import Namespace="XXXX.BLL" %>
<%@ Import Namespace="XXXX.Model" %>
<%@ Import Namespace="XXXX.DBUtility" %>



<script runat="server">

    protected string stext;
    protected void Page_Load(object sender, EventArgs e)
    {
        StringBuilder sb = new StringBuilder();
        using (System.Data.SqlClient.SqlDataReader rd = XXXX.DBUtility.SqlHelper.ExecuteReader(SqlHelper.ConnectionString, System.Data.CommandType.Text, "Select Kinds + '/' FROM XXX", null))
        {
            while (rd.Read())
            {
                sb.Append(rd.GetString(0));
            }
        }
        stext = sb.ToString();

        ToArrayBySort(ToArray(stext, '/'));

    }

    

    /// <summary>
    /// 将字符串根据分隔符转化为数组
    /// </summary>
    /// <param name="sourcestring">要转化的字符串</param>
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表