<asp:ScriptManager ID="ScriptManager1" runat="server">
</asp:ScriptManager>
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
<div>
<asp:GridView ID="GridView1" runat="server" Height="167px" Width="1000px"
AutoGenerateColumns="False">
<Columns>
<asp:BoundField DataField="TITLE" HeaderText="标题" />
<asp:BoundField DataField="CLASSNAME" HeaderText="类别" />
<asp:BoundField DataField="CLICKCOUNT" HeaderText="点击量" />
<asp:BoundField DataField="PUBLISHER" HeaderText="作者" />
<asp:BoundField DataField="PUBLISHED" HeaderText="出版社" />
</Columns>
</asp:GridView>
<br />
<br />
<asp:Button ID="btnfirst" runat="server" Text="第一页" οnclick="btnfirst_Click"
style="height: 21px" />
<asp:Button ID="btnpre" runat="server" Text="上一页" οnclick="btnpre_Click" />
<asp:Button ID="btnnext" runat="server" Text="下一页" οnclick="btnnext_Click" />
<asp:TextBox ID="txtpageindex" runat="server"></asp:TextBox>
<asp:Button ID="btnGO" runat="server" Text="GO" οnclick="btnGO_Click" />
<asp:Button ID="Button1" runat="server" οnclick="Button1_Click" Text="最后一页" />
</div>
</ContentTemplate>
</asp:UpdatePanel>
string strcon = ConfigurationManager.ConnectionStrings["strcon"].ConnectionString;
private int pagesize = 5;
private int totalpagesize=0;
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
ViewState["pageindex"] = "1";
this.txtpageindex.Text = "1";
DataBindArticle();
}
}
private void DataBindArticle()
{
SqlConnection conn = new SqlConnection(strcon);
SqlCommand cmd = conn.CreateCommand();
cmd.CommandText = "PROFENYE";
//表明调用的是存储过程
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.AddWithValue("@PAGESIZE",pagesize);
cmd.Parameters.AddWithValue("@PAGEINDEX", Convert.ToInt32(ViewState["pageindex"]));
SqlDataAdapter adapter = new SqlDataAdapter(cmd);
DataTable dt = new DataTable();
adapter.Fill(dt);
this.GridView1.DataSource = dt;
this.GridView1.DataBind();
cmd.Dispose();
conn.Close();
conn.Dispose();
}
//获取总的页数
private void GetCount()
{
SqlConnection conn = new SqlConnection(strcon);
SqlCommand cmd = conn.CreateCommand();
cmd.CommandText = "select count(*) from ArticleInfo";
conn.Open();
object obj = cmd.ExecuteScalar();
if (obj != null)
{
int totalrecord = Convert.ToInt32(obj);
if (totalrecord % pagesize != 0)
{
totalpagesize = totalrecord / pagesize + 1;
}
else
{
totalpagesize = totalrecord / pagesize;
}
}
cmd.Dispose();
conn.Dispose();
}
protected void btnfirst_Click(object sender, EventArgs e)
{
ViewState["pageindex"] = "1";
this.txtpageindex.Text = "1";
DataBindArticle();
}
protected void btnpre_Click(object sender, EventArgs e)
{
int pageindex=Convert.ToInt32(ViewState["pageindex"]);
if (pageindex > 1)
{
pageindex--;
ViewState["pageindex"] = pageindex.ToString();
this.txtpageindex.Text = pageindex.ToString();
}
DataBindArticle();
}
protected void btnnext_Click(object sender, EventArgs e)
{
int pageindex = Convert.ToInt32(ViewState["pageindex"]);
GetCount();
if (pageindex < totalpagesize)
{
pageindex++;
ViewState["pageindex"] = pageindex.ToString();
this.txtpageindex.Text = pageindex.ToString();
}
DataBindArticle();
}
protected void Button1_Click(object sender, EventArgs e)
{
GetCount();
ViewState["pageindex"] = totalpagesize.ToString();
this.txtpageindex.Text = totalpagesize.ToString();
DataBindArticle();
}
protected void btnGO_Click(object sender, EventArgs e)
{
ViewState["pageindex"] = this.txtpageindex.Text;
DataBindArticle();
}
}