一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術(shù)|正則表達(dá)式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務(wù)器之家 - 編程語言 - ASP.NET教程 - asp.net 使用js分頁(yè)實(shí)現(xiàn)異步加載數(shù)據(jù)

asp.net 使用js分頁(yè)實(shí)現(xiàn)異步加載數(shù)據(jù)

2019-12-03 11:48ASP.NET教程網(wǎng) ASP.NET教程

這篇文章主要介紹了asp.net使用js分頁(yè)實(shí)現(xiàn)異步加載數(shù)據(jù),需要的朋友可以參考下

1、準(zhǔn)備工作 

引入“jquery-1.8.3.min.js”,AjaxPro.2.dll”:用于前臺(tái)js調(diào)用后臺(tái)方法。 

2、Web.config的配置 

復(fù)制代碼代碼如下:


<?xml version="1.0" encoding="utf-8"?> 
<configuration> 
<connectionStrings> 
<clear/> 
<!-- 數(shù)據(jù)庫(kù)鏈接 --> 
<add name="connSwtLoginLog" connectionString="Server=DUWEI\SQL2005;Database=SwtLoginLog;user id=sa;password=111111;Connect Timeout=120;pooling=true;min pool size=5;max pool size=10"/> 
</connectionStrings> 
<system.web> 
<compilation debug="true" targetFramework="4.0" /> 
<!-- 頁(yè)面調(diào)用后臺(tái)方法 --> 
<httpHandlers> 
<add verb="POST,GET" path="ajaxpro/*.ashx" type="AjaxPro.AjaxHandlerFactory,AjaxPro.2"/> 
</httpHandlers> 
</system.web> 
</configuration> 


3、目錄結(jié)構(gòu) 
asp.net 使用js分頁(yè)實(shí)現(xiàn)異步加載數(shù)據(jù) 

下面就直接上代碼了。 

4、Login.aspx頁(yè)面代碼 

復(fù)制代碼代碼如下:


<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Login.aspx.cs" Inherits="AspNet.Login" %> 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head runat="server"> 
<title></title> 
<script src="js/jquery-1.8.3.min.js" type="text/javascript"></script> 
<script type="text/javascript"> 
function initTable(dt) { 
var str = '<table border="1px">' 
+ '<tr>' 
+ '<td>' 
+ 'LoginID' 
+ '</td>' 
+ '<td>' 
+ 'SwtID' 
+ '</td>' 
+ '<td>' 
+ 'UserName' 
+ '</td>' 
+ '<td>' 
+ 'IP' 
+ '</td>' 
+ '<td>' 
+ 'Address' 
+ '</td>' 
+ '<td>' 
+ 'LogTime' 
+ '</td>' 
+ '<td>' 
+ 'LogType' 
+ '</td>' 
+ '</tr>'; 
for (var i = 0; i < dt.Rows.length; i++) { 
str = str + '<tr>' 
+ '<td>' 
+ dt.Rows[i]['LoginID'] 
+ '</td>' 
+ '<td>' 
+ dt.Rows[i]['SwtID'] 
+ '</td>' 
+ '<td>' 
+ dt.Rows[i]['UserName'] 
+ '</td>' 
+ '<td>' 
+ dt.Rows[i]['IP'] 
+ '</td>' 
+ '<td>' 
+ dt.Rows[i]['Address'] + dt.Rows[i]['Address2'] 
+ '</td>' 
+ '<td>' 
+ dt.Rows[i]['LogTime'] 
+ '</td>' 
+ '<td>' 
+ dt.Rows[i]['LogType'] 
+ '</td>' 
+ '</tr>' 

str = str + '</table>'; 
$("#d1").html(str); 

function firtPage(page) { 
$("#pageNo").text(page); 
var dt = AspNet.Login.FindDate(page).value; 
initTable(dt); 

//定義一個(gè)當(dāng)前頁(yè)初始為1 
var pageNo = 1; 
//總頁(yè)數(shù) 
var totalPage = <%=pageCount %>; 
function showContent(op) { 
if (op == "first") { 
pageNo = 1; 

else if (op == "previous") { 
if (pageNo > 1) 
pageNo -= 1; 
else 
pageNo = 1; 

else if (op == "next") { 
if (pageNo < totalPage - 1) 
pageNo += 1; 
else 
pageNo = totalPage - 1; 

else if (op == "last") { 
pageNo = totalPage - 1; 

else if(op=="jump"){ 
var jump = $("#jump").val(); 
if(jump<1 || jump>totalPage){ 
pageNo = 1; 
}else{ 
pageNo = jump; 


else { 
pageNo = 1; 

firtPage(pageNo); 

$(function () { 
showContent("first"); 
}); 
</script> 
</head> 
<body> 
<form id="form1" runat="server"> 
<div id="d1" align="center"></div> 
<div align="center"> 
<span id="sp_ShowContent"> 
第<label id="pageNo"></label>頁(yè)|共<%=pageCount%>頁(yè) 
|<a onclick="showContent('first');" href="javascript:void(0);">首頁(yè)</a> 
|<a onclick="showContent('previous');" href="javascript:void(0);">上一頁(yè)</a> 
|<a onclick="showContent('next');" href="javascript:void(0);">下一頁(yè)</a> 
|<a onclick="showContent('last');" href="javascript:void(0);">尾頁(yè)</a> 
|跳到<input id="jump"/><a onclick="showContent('jump');" href="javascript:void(0);">GO</a> 
</span> 
</div> 
</form> 
</body> 
</html> 


后臺(tái)代碼 

復(fù)制代碼代碼如下:


using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Web; 
using System.Web.UI; 
using System.Web.UI.WebControls; 
using System.Data; 
using AspNet.service; 

namespace AspNet 

public partial class Login : System.Web.UI.Page 

//測(cè)試用 沒頁(yè)2條數(shù)據(jù) 
public int pageSize = 2; 
public int pageCount; 
public LoginLogService logService = new LoginLogService(); 
protected void Page_Load(object sender, EventArgs e) 

AjaxPro.Utility.RegisterTypeForAjax(typeof(Login)); 
if (!IsPostBack) 

pageCount = logService.PageCount(pageSize); 


//AjaxPro具體使用方法可以網(wǎng)上例子很多 
[AjaxPro.AjaxMethod] 
public DataTable FindDate(int currentPage) 

return logService.FindDate(pageSize, currentPage); 



5、LoginLogService.cs 

復(fù)制代碼代碼如下:


using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Web; 
using System.Data; 
using System.Data.SqlClient; 

namespace AspNet.service 

public class LoginLogService 

public DataTable FindDate(int pageSize, int currentPage) 


string sql = "SELECT LoginID,SwtID,UserName,IP,Address,Address2,LogTime,LogType FROM ( " 
+ "SELECT * ,ROW_NUMBER() OVER(ORDER BY LoginID) AS columnNum FROM dbo.LoginLog ) a " 
+ "WHERE a.columnNum BETWEEN @begin AND @end"; 
SqlParameter[] paras = new SqlParameter[]{new SqlParameter("@begin",pageSize * (currentPage-1)+1), 
new SqlParameter("@end",pageSize * currentPage)}; 
DataTable dt = DBHelper.GetDataSet(sql, paras); 
return DBHelper.GetDataSet(sql, paras); 

public int PageCount(int pageSize) 

string sql = "SELECT COUNT(1) FROM dbo.LoginLog"; 
int rowCount = int.Parse(DBHelper.GetDataSet(sql).Rows[0][0].ToString()); 
return rowCount % pageSize == 0 ? rowCount / pageSize : rowCount / pageSize+1; 



6、Utils放著DBHelper.cs 

復(fù)制代碼代碼如下:


using System; 
using System.Collections.Generic; 
using System.Text; 
using System.Data; 
using System.Data.SqlClient; 
using System.Configuration; 

namespace AspNet 

public static class DBHelper 


private static SqlConnection connection; 
public static SqlConnection Connection 

get 

string connectionString = ConfigurationManager.ConnectionStrings["connSwtLoginLog"].ConnectionString; 
if (connection == null) 

connection = new SqlConnection(connectionString); 
connection.Open(); 

else if (connection.State == System.Data.ConnectionState.Closed) 

connection.Open(); 

else if (connection.State == System.Data.ConnectionState.Broken) 

connection.Close(); 
connection.Open(); 

return connection; 



//ExecuteNonQuery方法是用來執(zhí)行insert、delete、update語句的,返回的是影響的行數(shù) 
public static int ExecuteCommand(string safeSql) 

SqlCommand cmd = new SqlCommand(safeSql, Connection); 
int result = cmd.ExecuteNonQuery(); 
return result; 


public static int ExecuteCommand(string sql, params SqlParameter[] values) 

SqlCommand cmd = new SqlCommand(sql, Connection); 
cmd.Parameters.AddRange(values); 
return cmd.ExecuteNonQuery(); 



//ExecuteScalar()返回sql語句執(zhí)行后的第一行第一列的值,object類型 
public static int GetScalar(string safeSql) 

SqlCommand cmd = new SqlCommand(safeSql, Connection); 
int result = Convert.ToInt32(cmd.ExecuteScalar()); 
return result; 


public static int GetScalar(string sql, params SqlParameter[] values) 

SqlCommand cmd = new SqlCommand(sql, Connection); 
cmd.Parameters.AddRange(values); 
int result = Convert.ToInt32(cmd.ExecuteScalar()); 
return result; 


//ExecuteReader()返回一個(gè)Datareader對(duì)象,對(duì)象內(nèi)容是為與命令匹配的所有行,通常用于讀取數(shù)據(jù) 
public static SqlDataReader GetReader(string safeSql) 

SqlCommand cmd = new SqlCommand(safeSql, Connection); 
SqlDataReader reader = cmd.ExecuteReader(); 
return reader; 


public static SqlDataReader GetReader(string sql, params SqlParameter[] values) 

SqlCommand cmd = new SqlCommand(sql, Connection); 
cmd.Parameters.AddRange(values); 
SqlDataReader reader = cmd.ExecuteReader(); 
return reader; 


public static DataTable GetDataSet(string safeSql) 

connection = Connection; 
DataSet ds = new DataSet(); 
SqlCommand cmd = new SqlCommand(safeSql, Connection); 
SqlDataAdapter da = new SqlDataAdapter(cmd); 
da.Fill(ds); 
cmd.Parameters.Clear(); 
return ds.Tables[0]; 


public static DataTable GetDataSet(string sql, params SqlParameter[] values) 

DataSet ds = new DataSet(); 
SqlCommand cmd = new SqlCommand(sql, Connection); 
cmd.Parameters.AddRange(values); 
SqlDataAdapter da = new SqlDataAdapter(cmd); 
da.Fill(ds); 
cmd.Parameters.Clear(); 
return ds.Tables[0]; 



 

復(fù)制代碼代碼如下:


數(shù)據(jù)表結(jié)構(gòu):<pre code_snippet_id="274427" snippet_file_name="blog_20140404_6_6418355" name="code" class="plain">CREATE TABLE [dbo].[LoginLog]( 
[LoginID] [int] IDENTITY(1,1) NOT NULL, 
[SwtID] [int] NULL, 
[UserName] [nvarchar](255) COLLATE Chinese_PRC_CI_AS NULL, 
[IP] [nvarchar](20) COLLATE Chinese_PRC_CI_AS NULL, 
[Address] [nvarchar](255) COLLATE Chinese_PRC_CI_AS NULL, 
[Address2] [nvarchar](255) COLLATE Chinese_PRC_CI_AS NULL, 
[LogTime] [datetime] NULL, 
[LogType] [int] NULL CONSTRAINT [DEFAULT_LoginLog_LogType] DEFAULT ((1)), 
CONSTRAINT [PK_LoginLog_LoginID] PRIMARY KEY CLUSTERED 

[LoginID] ASC 
)WITH (PAD_INDEX = OFF, IGNORE_DUP_KEY = OFF) ON [PRIMARY] 
) ON [PRIMARY]</pre> 
<pre></pre> 
<pre code_snippet_id="274427" snippet_file_name="blog_20140404_6_6418355" name="code" class="csharp"><pre code_snippet_id="274427" snippet_file_name="blog_20140404_6_6418355" name="code" class="sql"><pre code_snippet_id="274427" snippet_file_name="blog_20140404_6_6418355"></pre> 
<pre></pre> 
<pre></pre> 
<pre></pre> 
<pre></pre> 
<pre></pre> 

</pre></pre> 

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: sao虎在线精品永久在线 | 精品久久久久久亚洲精品 | 超级乱淫变态伦短篇小说全集 | 国产午夜亚洲精品不卡 | 国产一区二区在线观看美女 | 免费看片黄色 | hd性欧美俱乐部中文 | 成人伊人青草久久综合网破解版 | 日韩视频免费一区二区三区 | 成年视频在线观看免费 | 亚洲日韩欧美一区二区在线 | 处女私拍| 国产剧情一区二区三区 | 特黄特色大片免费视频播放 | 青青青青青| 四虎网址大全 | 久久足恋网 | 国产98在线 | 国产一级持黄大片99久久 | 四虎成人免费大片在线 | 13日本xxxxxxxxx18| 国产日韩欧美在线一区二区三区 | 接吻吃胸摸下面啪啪教程 | 99久久精品国产综合一区 | 欧美一区精品二区三区 | 日韩一级精品视频在线观看 | 午夜福利08550 | 91精品国产9l久久久久 | 五月婷婷丁香在线视频 | 国产3344视频在线观看免费 | 姐姐不~不可以动漫在线观看 | 欧美一级视频在线 | 精品国产在线观看 | 天堂网站天堂小说 | 午夜A级理论片左线播放 | 大象视频污| 国产免费资源 | 久久伊人免费 | 91在线视频播放 | 91久久国产综合精品 | 大陆国语自产精品视频在 |