ASP.NET分頁組件學與用——使用篇

來源:互聯網
上載者:User
asp.net|分頁 ASP.NET分頁組件學與用——使用篇



大家好,這篇文章承啟上一篇文章《ASP.NET分頁組件學與用——教學篇》。



在《ASP.NET分頁組件學與用——教學篇》中,我們講解了分頁組件的整個建立過程,那麼在這一篇文章中,我們主要討論一下如何使用該組件。



請按以下步驟操作:

1、 建立一個WEB應用程式工程。



2、 將上篇文章中產生的組件添加到工具箱中。如果您不知道添加的過程,請參考文章《ASP.NET組件編程step by step》





3、 在預設的WEB表單頁面中,切換到HTML視圖,把下列HTML代碼複製到<form>標籤中。

<div align="center">

<center>

<table border="0" cellpadding="0" cellspacing="0" width="756" height="155" style="FONT-SIZE:12px">

<tr>

<td width="756" height="23">分頁控制項的使用執行個體</td>

</tr>

<tr>

<td width="756" height="110" valign="top" align="center" runat="server" id="myHtml"></td>

</tr>

<tr>

<td width="756" height="22">

</td>

</tr>

</table>

</center>

</div>



4、 該HTML代碼產生一個三行一列的表格,從工具箱將控制項拖到該表格的第三行中。



5、 在private void Page_Load(object sender, System.EventArgs e)事件處理常式中添加如下代碼:

int cp;

if(this.Request.Params["currentPage"] == null)

{

cp = 1;

}

else

{

cp = Convert.ToInt32(this.Request.Params["currentPage"]);

}



SqlConnection con = new SqlConnection("server=accp-lzh;uid=sa;pwd=sasa;database=Northwind");

SqlCommand cmd = new SqlCommand("select * from [Order Details]",con);

SqlDataAdapter adapter = new SqlDataAdapter();

adapter.SelectCommand = cmd;

DataSet ds = new DataSet();

con.Open();

adapter.Fill(ds,"table");

con.Close();



DataTable dt = new DataTable();

dt = ds.Tables["table"];

//以下設定控制項參數

this.LzhPages1.AllCount = dt.Rows.Count;//總記錄條數

this.LzhPages1.CurrentPage = cp;//當前頁,從URL中讀取

this.LzhPages1.ShowPages = 10;//導航數字個數

this.LzhPages1.Count = 10;//每頁顯示的記錄條數



StringBuilder sql = new StringBuilder();

//以下三個字串最終組合成一個完整的表格<table>

string htmlHeader = "";//<table>標籤

string htmlBody = "";//中間有若干個<tr>標籤,即行

string htmlFoot = "";//</table>標籤



sql.AppendFormat("select top {0} * from [Order Details] where 1=1 and OrderID not in (select top {1} OrderID from [Order Details] where 1=1 order by OrderID desc) order by OrderID desc",this.LzhPages1.Count,this.LzhPages1.CurrentPage * this.LzhPages1.Count);

SqlCommand cmd1 = new SqlCommand(sql.ToString(),con);

adapter.SelectCommand = cmd1;

con.Open();

adapter.Fill(ds,"table1");

con.Close();



dt= ds.Tables["table1"];

htmlHeader = "<table style='font-size:12px' border='1' cellpadding='0' cellspacing='0' width='100%' bordercolor='#008000' bordercolorlight='#008000' bordercolordark='#FFFFFF'>\n";



for(int i = 0;i < dt.Rows.Count ;i ++)

{

htmlBody = htmlBody + String.Format("<tr>\n<td width='12%'>{0}</td>\n<td width='43%'>{1}</td>\n<td width='24%'>{2}</td><td width='21%'>{3}</td>\n</tr>\n",dt.Rows[i][0].ToString(),dt.Rows[i][1].ToString(),dt.Rows[i][2].ToString(),dt.Rows[i][3].ToString());

}

htmlFoot = "</table>\n";



this.myHtml.InnerHtml = htmlHeader + htmlBody + htmlFoot;



6、 sql.AppendFormat("select top {0} * from [Order Details] where 1=1 and OrderID not in (select top {1} OrderID from [Order Details] where 1=1 order by OrderID desc) order by OrderID desc",this.LzhPages1.Count,this.LzhPages1.CurrentPage * this.LzhPages1.Count);此語句中的SQL語句就是用來分頁的,我們的控制項只是用來控制頁面,資料還得通過SQL語句或預存程序讀取。



7、 結果圖:



聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.