using System; using System.Data; using System.Configuration; using System.Collections; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Web.UI.HtmlControls; using System.Data.SqlClient; public partial class _Default : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { this.bind(); } protected void link_Click(object sender, EventArgs e) { int page = Convert.ToInt32(txtlink.Text); Response.Redirect("aa.aspx?CurrentPage="+page+""); } public void bind() { int sumPage; int pageNo = 1; int pageSize = 3; if (Request.QueryString["CurrentPage"] == null) { pageNo = 1; } else { pageNo = Int32.Parse(Request.QueryString["CurrentPage"]); } SqlConnection conn = new SqlConnection(ConfigurationManager.AppSettings["ConStr"]); SqlDataAdapter da = new SqlDataAdapter(); da.SelectCommand = new SqlCommand(); da.SelectCommand.Connection = conn; da.SelectCommand.CommandText = "getdataset"; da.SelectCommand.CommandType = CommandType.StoredProcedure; da.SelectCommand.Parameters.Add("@TableList", SqlDbType.VarChar, 200).Value = "job_id,job_desc,max_lvl"; da.SelectCommand.Parameters.Add("@TableName", SqlDbType.VarChar, 30).Value = "jobs"; //da.SelectCommand.Parameters.Add("@SelectWhere", SqlDbType.VarChar, 500).Value = "where d=1"; da.SelectCommand.Parameters.Add("@SelectOrderId", SqlDbType.VarChar, 20).Value = "job_id"; da.SelectCommand.Parameters.Add("@SelectOrder", SqlDbType.VarChar, 200).Value = "order by min_lvl asc"; da.SelectCommand.Parameters.Add("@intPageNo", SqlDbType.Int).Value = pageNo; da.SelectCommand.Parameters.Add("@intPageSize", SqlDbType.Int).Value = pageSize; da.SelectCommand.Parameters.Add("@RecordCount", SqlDbType.Int).Direction = ParameterDirection.Output; da.SelectCommand.Parameters.Add("RowCount", SqlDbType.Int).Direction = ParameterDirection.ReturnValue; DataSet ds = new DataSet(); da.Fill(ds, "jobs"); GridView1.DataSource = ds; GridView1.DataBind(); Int32 RecordCount = (Int32)da.SelectCommand.Parameters["@RecordCount"].Value; //求出總記錄數,該值是output出來的值 Int32 RowCount = (Int32)da.SelectCommand.Parameters["RowCount"].Value; //求出當前頁中的記錄數,在最後一頁不等於pagesize, lbRecord.Text = RecordCount.ToString(); lbRow.Text = pageNo.ToString(); sumPage = (Int32)RecordCount / pageSize; if (RecordCount % pageSize > 0) { sumPage = sumPage + 1; } lbpage.Text = sumPage.ToString(); if (pageNo > 1) { hylfirst.NavigateUrl = "aa.aspx?CurrentPage=1"; hylprev.NavigateUrl = string.Concat("aa.aspx?CurrentPage=", "", pageNo - 1); } else { hylprev.NavigateUrl = ""; hylfirst.NavigateUrl = ""; hylfirst.Visible = false; hylprev.Visible = false; } if (pageNo < sumPage) { hylend.NavigateUrl = string.Concat("aa.aspx?CurrentPage=", "", sumPage); hylnext.NavigateUrl = string.Concat("aa.aspx?CurrentPage=", "", pageNo + 1); } else { hylnext.NavigateUrl = ""; hylend.NavigateUrl = ""; hylend.Visible = false; hylnext.Visible = false; } } } |