91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

asp.net分頁方法

發布時間:2020-07-01 14:09:27 來源:網絡 閱讀:222 作者:minrssmax 欄目:編程語言

ASP.NET分頁的是我們在編程過程中遇到的常見問題,下面就這個問題說下添美的看法。

q 啟用部分數據控件的內置分頁功能,如設置GridView控件的"AllowPaging"屬性為"true",類似的數據控件還有DetailsView等。

q 通過SQL查詢語句,以提取指定部分的數據的方式完成分頁的功能。也包括調用數據庫中內置的存儲過程完成分頁數據的提取。

q 調用所對應數據適配器對象(DataAdapter對象)的Fill方法時,傳遞分頁參數以完成數據集的分頁功能。

q 通過訪問DataTable對象的"Rows"屬性,以循環輸出的方式訪問結果集中指定區段的數據行,以達到分頁的效果。

【分析】

分頁功能在大部分WEB項目中使用比較廣泛,本題考查面試者對ASP.NET中可用分頁方法的了解程度。在頁面布局等方面要求不高的情況下,例如WEB后臺管理系統,使用數據控件內置的分頁功能通常是編程者的首選。為了展示常用的這四種分頁方法,制作一個實例,在同一個頁面中分別用這四種方法對相同的結果集分頁顯示。

在VS 2008中添加新的WEB窗體到NetWeb3項目,并命名為Pager.aspx.在頁面中添加1個GridView控件,用于展示內置分頁功能,添加2個Repeater控件,用于展示SQL語句分頁和數據適配器對象分頁。

最后通過在Pager.aspx頁面導入System.Data命名空間,在頁面中直接用for循環輸出dt數據表的指定數量記錄,以完成分頁顯示的效果。編寫Pager.aspx如代碼12.12所示。

代碼12.12 多種方法分頁顯示頁面:Pager.aspx

<html xmlns="http://www.w3.org/1999/xhtml" >

<head runat="server">

<title>www.sytm.net網站四種分頁方法實例</title>

</head>

<body>

<form id="form1" runat="server">

<div>

<h4>控件內置分頁【每頁3條記錄】</h4>

<asp:GridView runat="server" ID="GView" AllowPaging="true" PageSize="3"></asp:GridView>

<h4>數據適配器分頁【當前顯示第1頁,每頁2條記錄】</h4>

<asp:Repeater runat="server" ID="Rp1" >

<HeaderTemplate><ul></HeaderTemplate>

<ItemTemplate>

<li><asp:Label runat="server" ID="UName" Text='<%# Eval("UserName") %>'></asp:Label>:<asp:Label runat="server" ID="Msg" Text='<%# Eval("Message") %>'></asp:Label></li>

</ItemTemplate>

<FooterTemplate></ul></FooterTemplate>

</asp:Repeater>

<h4>SQL分頁【當前顯示第2頁,每頁3條記錄】</h4>

<asp:Repeater runat="server" ID="Rp2" >

<HeaderTemplate><ul></HeaderTemplate>

<ItemTemplate>

<li><asp:Label runat="server" ID="UName" Text='<%# Eval("UserName") %>'></asp:Label>:<asp:Label runat="server" ID="Msg" Text='<%# Eval("Message") %>'></asp:Label></li>

</ItemTemplate>

<FooterTemplate></ul></FooterTemplate>

</asp:Repeater>

<h4>數據表分頁【當前顯示第1頁,每頁3條記錄】</h4>

<%

Response.Write("<ul>");

int i;

string UName;

string Msg;

for(i=0;i<3;i++)

{UName = dt.Rows[i][0].ToString();

Msg = dt.Rows[i][1].ToString();

Response.Write(String.Format("<li>{0}:{1}</li>",UName,Msg));}

Response.Write("</ul>");

%>

</div>

</form>

</body>

</html>

編寫Pager.aspx.cs如代碼12.13所示。

代碼12.13 多種方法分頁邏輯代碼:Pager.aspx.csusing System;……

//導入必要的命名空間,使用SQL SERVER數據提供者using System.Data.SqlClient;namespace NetWeb3

{public partial class Pager : System.Web.UI.Page{//從Web.config的AppSettings節點的第1個子節點中獲取數據庫連接字符串//將連接字符串對象引用賦值給靜態字符串變量CnStrstatic string CnStr = ConfigurationManager.AppSettings[0];//根據CnStr變量創建SqlConnection對象,引用為cnSqlConnection cn = new SqlConnection(CnStr);//聲明SqlDataAdapter類型變量daSqlDataAdapter da;

//創建DataSet對象,引用為ds

DataSet ds = new DataSet();

//聲明DataTable類型的變量dt

//protected修飾符可以保證在*.aspx中可以訪問dtprotected DataTable dt;protected void Page_Load(object sender, EventArgs e){this.GView.PageIndexChanging += new GridViewPageEventHandler(GView_PageIndexChanging);//判斷頁面是否為首次加載if (!IsPostBack)

{//調用自定義的MyBind方法

MyBind();

}

}

protected void MyBind()

{string SqlStr = "SELECT [UserName],[Message] FROM [LeaveMsg]";//根據SqlStr和cn創建新的SqlDataAdapter對象,引用為da變量da = new SqlDataAdapter(SqlStr, cn);//調用da的Fill方法,將記錄填充到ds,其DataTable名稱為LeaveMsg1da.Fill(ds, "LeaveMsg1");//將LeaveMsg1數據表設置為GView控件的數據源

this.GView.DataSource = ds.Tables["LeaveMsg1"];//調用da的Fill方法,將記錄填充到ds,其DataTable名稱為LeaveMsg2//Fill方法接收的第2個參數代表從第幾條記錄開始填充,第3個參數代表填充多少條記錄da.Fill(ds,0,2, "LeaveMsg2");//將LeaveMsg1數據表設置為Rp1控件的數據源

this.Rp1.DataSource = ds.Tables["LeaveMsg2"].DefaultView;cn.Open();//編寫SQL語句,直接在數據庫查詢時分頁獲取數據SqlStr = "Select Top 3 [UserName],[Message] from [LeaveMsg] where [id] Not IN (Select Top (3*1) [id] from [LeaveMsg])";//根據SqlStr和cn創建新的SqlCommand對象,引用為cmd變量SqlCommand cmd = new SqlCommand(SqlStr, cn);//調用cmd的ExecuteReader方法,返回數據讀取器,引用為drSqlDataReader dr = cmd.ExecuteReader(CommandBehavior.CloseConnection);//將dr設置為Rp2控件的數據源this.Rp2.DataSource = dr;

//將LeaveMsg1數據表對象引用賦值給dt,供*.aspx中訪問dt = ds.Tables["LeaveMsg1"];//綁定頁面所有控件的數據

this.DataBind();

//關閉數據讀取器,同時關閉數據庫連接

dr.Close();

}

//該方法為GView控件的數據頁索引變化事件的處理方法protected void GView_PageIndexChanging(object sender, GridViewPageEventArgs e){//設置新的頁索引GView.PageIndex = e.NewPageIndex;

//再次調用MyBind方法,綁定頁面數據

MyBind();

}

}

}


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

元氏县| 栾城县| 莒南县| 澄江县| 沾益县| 信阳市| 正蓝旗| 正定县| 遵义县| 车险| 沂南县| 山阳县| 三门县| 临夏县| 溧阳市| 英德市| 宁南县| 洛川县| 北流市| 宣汉县| 桐梓县| 营山县| 喜德县| 三门峡市| 庆城县| 清水县| 陆良县| 鄱阳县| 泰州市| 嘉峪关市| 寻甸| 广汉市| 泗洪县| 房山区| 兴义市| 杨浦区| 和顺县| 莱芜市| 清涧县| 辽阳市| 永城市|