关于对PagedDataSource的相关操作,引起的思考和实践

原创文章,转载请注明出处.转载自: Li Haifeng's Blog
本文链接地址: 关于对PagedDataSource的相关操作,引起的思考和实践

在这次的课程设计中,文章的分类为int,在显示的时候需要根据这个数到另一个表中去查找相应的类别名称,我当时图省事,向在blog.aspx页面下面搞点手脚,可是不能将EVAL("")用于非字段绑定的上下文中,最后,突然想到了,pageddatasource的数据源实际上我是给了一个list类,所以实际上,可以在数据访问层,再查询一次数据库,因此在Article类中加入了leibiestr,然后在读取的时候,重新到leibietable中再读一次值,具体的代码可以看看:呵呵,


新加入了leibie类,和leibieoperater类,下面的黑体字是新加入的代码!---有思路就有出路,拽拽!!


public List<Article> viewAll()
    {
        List<Article> list = new List<Article>();
        con.Open();
        cmd = new SqlCommand("select * from newstable order by time desc", con);
        SqlDataReader sdr = cmd.ExecuteReader();
        Article ac;
        Leibie lb = null;
        LeibieOperater lbo = null;
        while (sdr.Read())
        {
            lb = new Leibie();
            lbo = new LeibieOperater();
            ac = new Article();
            ac.id= sdr["id"].ToString();
            ac.liebie =Convert.ToInt32(sdr["leibie"]);
            int i = ac.liebie;
            lb = lbo.getbyid(i);
            ac.leibiestr = lb.leibie.ToString();
            ac.title = sdr["title"].ToString();
            ac.content = sdr["content"].ToString();
            if (ac.content.Length > 200)
            {
                ac.content = ac.content.Substring(0, 200);
            }
            ac.postdatetime = Convert.ToDateTime(sdr["time"]);
            ac.gentieCount = Convert.ToInt32(sdr["GentieCount"]);
            ac.readcount = Convert.ToInt32(sdr["times"]);//读了多少次
            ac.author = sdr["author"].ToString();
            list.Add(ac);
        }
        sdr.Close();
        con.Close();
        return list;
    }

From Li Haifeng's Blog, post 关于对PagedDataSource的相关操作,引起的思考和实践

Post Footer automatically generated by wp-posturl plugin for wordpress.

分享到: