我看到百度贴吧的评论,在会员后台点击评论后会自动跳到该评论所在的页码的页面,而不是简单的锚。我也要做做看。在csdn问了问,估计直接根据id直接取分页数据的话会比较麻烦,所以决定做法是先找到评论所在页的页码,再根据页码来获取该分页的数据。这样就只是一个问题,就是如何根据评论id获取它的所在分页页码。又取csdn问了问,高手果然很多,再结合需要,得到代码如下:
/// <summary>
/// 获取指定lemma的评论的所在页码
/// </summary>
/// <param name="PageSize">每页显示数</param>
/// <param name="id">id</param>
/// <param name="lemma">lemma</param>
public int GetCommentPageByIdAndLemma( int PageSize, int id, int lemma)
{
StringBuilder strSQL = new StringBuilder();
strSQL.Append("select count(1) ").Append(FROM_TABLE).Append(" where id > ").Append(id).Append(" and lemmaid = ").Append(lemma);
int iCount = Convert.ToInt32(SqlHelper.ExecuteScalar(SqlHelper.ConnectionString, CommandType.Text, strSQL.ToString(), null).ToString());
int iPage = Convert.ToInt32(iCount / PageSize);
if (iCount % PageSize > 0) iPage++;
return iPage;
}
/// 获取指定lemma的评论的所在页码
/// </summary>
/// <param name="PageSize">每页显示数</param>
/// <param name="id">id</param>
/// <param name="lemma">lemma</param>
public int GetCommentPageByIdAndLemma( int PageSize, int id, int lemma)
{
StringBuilder strSQL = new StringBuilder();
strSQL.Append("select count(1) ").Append(FROM_TABLE).Append(" where id > ").Append(id).Append(" and lemmaid = ").Append(lemma);
int iCount = Convert.ToInt32(SqlHelper.ExecuteScalar(SqlHelper.ConnectionString, CommandType.Text, strSQL.ToString(), null).ToString());
int iPage = Convert.ToInt32(iCount / PageSize);
if (iCount % PageSize > 0) iPage++;
return iPage;
}
获取了页码剩下的就简单了,不错的功能。
本文转自博客园cloudgamer的博客,原文链接:我来做百科(第二十天) C,如需转载请自行联系原博主。