日期:2014-05-16 浏览次数:20445 次
配置好AjaxPro,然后什么都不说了 直接贴代码。
?
前台:
<style type="text/css">
*{ margin:0px; padding:0px; list-style-type:none; font-family:"宋体"; font-size:14px;}
a{ text-decoration:none;}
a:hover{ text-decoration:underline;}
#dataBox{ float:left; height:200px; width:500px; clear:both;}
#dataBox li{ width:500px; height:30px; line-height:30px;text-overflow:ellipsis; white-space:nowrap;overflow:hidden; cursor:pointer; }
#dataBox li a{ color:#666;}
#pagerBar{ float:left; display:inline; width:500px; height:20px; overflow:hidden; clear:both; text-overflow:ellipsis; white-space:nowrap;}
#pagerBar a{ float:left; display:inline; height:17px; width:20px; border:1px solid #ccc; text-align:center; line-height:17px; cursor:pointer; margin:1px; color:blue;}
#pagerBar a.outlink{ background:#fff}
#pagerBar a.onlink{ background:red;}
#pagerBar span{ float:left; display:inline; height:17px; width:30px; border:1px solid #ccc; text-align:center; line-height:17px; cursor:pointer; margin:1px; color:Blue;}
</style>
<div id="dataBox"></div>
<div id="pagerBar"></div>
?
后台:
protected void Page_Load(object sender, EventArgs e)
{
AjaxPro.Utility.RegisterTypeForAjax(typeof(AjaxPagerTest));//注册AjaxPro
}
[AjaxPro.AjaxMethod]
public IList<Post> GetAllPostByPage(int pageSize, int pageIndex)//分页获取数据
{
int pastCount = pageIndex * pageSize;
string connstr = ConfigurationManager.ConnectionStrings["connstr"].ConnectionString;
SqlConnection conn = new SqlConnection(connstr);
SqlCommand comm = new SqlCommand("select top(" + pageSize + ")* from Post where PostID not in (select top(" + pastCount + ") PostID from Post where PostUserID=13) and PostUserID=13", conn);
SqlDataAdapter da = new SqlDataAdapter(comm.CommandText, conn);
try
{
DataTable dtData = new DataTable();
da.Fill(dtData);
IList<Post> lis = new List<Post>();
foreach (DataRow dr in dtData.Rows)
{
Post post = new Post();
post.PostTypeName = dr["PostTypeName"].ToString();
post.PostTitle = dr["PostTitle"].ToString();
post.PostUserName = dr["PostUserName"].ToString();
post.PostDate = Convert.ToDateTime(dr["PostDate"]);
post.Hits = Convert.ToInt32(dr["Hits"]);
lis.Add(post);
}
return lis;
}
catch (Exception ex)
{
throw ex;
}
}
[AjaxPro.AjaxMethod]
public int GetPostCount()//获取数据总数
{
string connstr = ConfigurationManager.ConnectionStrings["connstr"].ConnectionString;
SqlConnection conn = new SqlConnection(connstr);
SqlCommand comm = new SqlCommand("select count(*) from Post where PostUserID=13", conn);
try
{
conn.Open();
int postCount = Convert.ToInt32(comm.ExecuteScalar());
conn.Close();
return postCount;
}
catch (Exception)
{
throw;
}
}
?
?前台:
<script type="text/javascript">
var dataBox = document.getElementById('dataBox');//数据显示容器
var pagerBar = document.getElementById('pagerBar');//页码条
var pageSize = 6; //每页记录数
var totalSize = getPostCount();//记录总数
var pageLen = getPageLen();//页数
var onIndex = 0;//选择页的序号
//获得记录总数
function getPostCount() {
return AjaxPagerTest.GetPostCount().value;
}
//获得页数
function getPageLen() {
if (totalSize % pageSize == 0)
return totalSize / pageSize;
else
return M