欧美阿v视频在线大全_亚洲欧美中文日韩V在线观看_www性欧美日韩欧美91_亚洲欧美日韩久久精品

主頁 > 知識庫 > asp.net 使用js分頁實現異步加載數據

asp.net 使用js分頁實現異步加載數據

熱門標簽:騰訊地圖標注手機 昆明語音電銷機器人價格 柳州電銷機器人公司 400電話如何申請取消 太原400電話上門辦理 百度地圖怎樣做地圖標注 浦發電話機器人提醒還款 征途美甲店地圖標注 電銷語音機器人型號參數
1、準備工作

引入“jquery-1.8.3.min.js”,AjaxPro.2.dll”:用于前臺js調用后臺方法。

2、Web.config的配置
復制代碼 代碼如下:

?xml version="1.0" encoding="utf-8"?>
configuration>
connectionStrings>
clear/>
!-- 數據庫鏈接 -->
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" />
!-- 頁面調用后臺方法 -->
httpHandlers>
add verb="POST,GET" path="ajaxpro/*.ashx" type="AjaxPro.AjaxHandlerFactory,AjaxPro.2"/>
/httpHandlers>
/system.web>
/configuration>

3、目錄結構
 

下面就直接上代碼了。

4、Login.aspx頁面代碼
復制代碼 代碼如下:

%@ 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);
}
//定義一個當前頁初始為1
var pageNo = 1;
//總頁數
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(jump1 || 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>頁|共%=pageCount%>頁
|a onclick="showContent('first');" href="javascript:void(0);">首頁/a>
|a onclick="showContent('previous');" href="javascript:void(0);">上一頁/a>
|a onclick="showContent('next');" href="javascript:void(0);">下一頁/a>
|a onclick="showContent('last');" href="javascript:void(0);">尾頁/a>
|跳到input id="jump"/>a onclick="showContent('jump');" href="javascript:void(0);">GO/a>
/span>
/div>
/form>
/body>
/html>

后臺代碼
復制代碼 代碼如下:

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
{
//測試用 沒頁2條數據
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具體使用方法可以網上例子很多
[AjaxPro.AjaxMethod]
public DataTable FindDate(int currentPage)
{
return logService.FindDate(pageSize, currentPage);
}
}
}

5、LoginLogService.cs
復制代碼 代碼如下:

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
復制代碼 代碼如下:

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方法是用來執行insert、delete、update語句的,返回的是影響的行數
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語句執行后的第一行第一列的值,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()返回一個Datareader對象,對象內容是為與命令匹配的所有行,通常用于讀取數據
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];
}

}
}

復制代碼 代碼如下:

數據表結構: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>
您可能感興趣的文章:
  • asp.net下的異步加載
  • ASP.NET中AJAX的異步加載(Demo演示)

標簽:新疆 白山 德陽 陽泉 天門 江蘇 張家界 蘭州

巨人網絡通訊聲明:本文標題《asp.net 使用js分頁實現異步加載數據》,本文關鍵詞  asp.net,使用,分頁,實現,異步,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《asp.net 使用js分頁實現異步加載數據》相關的同類信息!
  • 本頁收集關于asp.net 使用js分頁實現異步加載數據的相關信息資訊供網民參考!
  • 推薦文章
    欧美阿v视频在线大全_亚洲欧美中文日韩V在线观看_www性欧美日韩欧美91_亚洲欧美日韩久久精品
  • <rt id="w000q"><acronym id="w000q"></acronym></rt>
  • <abbr id="w000q"></abbr>
    <rt id="w000q"></rt>
    91免费看视频| 美国黄色片视频| 欧美亚洲愉拍一区二区| 国产精品蜜臀在线观看| 狠狠色狠狠色综合| 亚洲无人区码一码二码三码的含义| 91精品国产综合久久久久久漫画| 亚洲最大成人综合| 91人妻一区二区三区| 欧美午夜精品一区二区三区| 日韩视频在线观看免费视频| 在线成人小视频| 亚洲国产精品久久艾草纯爱| 91麻豆免费在线观看| 在线亚洲精品福利网址导航| 亚洲美女视频在线观看| 91小宝寻花一区二区三区| 91精品1区2区| 一区二区三区在线高清| 亚洲国产欧美日韩在线| 欧美日韩国产影片| 污片在线观看一区二区| 中文字幕丰满孑伦无码专区| 精品日韩欧美在线| 激情图区综合网| 韩国一级黄色录像| 一区二区中文视频| 91原创在线视频| 欧美喷水一区二区| 日本美女一区二区三区| 一级特黄曰皮片视频| 国产欧美日韩不卡| 不卡电影一区二区三区| 欧美日韩国产一级| 蜜臀精品一区二区三区在线观看| a天堂中文字幕| 欧美激情艳妇裸体舞| 不卡区在线中文字幕| 欧美日韩黄色影视| 日本三级韩国三级欧美三级| 国产视频三区四区| 国产精品国产三级国产普通话三级| 成人18视频在线播放| 欧美在线视频你懂得| 视频一区二区三区中文字幕| 精品国产aaa| 亚洲人成影院在线观看| 国产成人av无码精品| 久久免费看少妇高潮| 成人av资源站| 337p亚洲精品色噜噜| 精品一区二区三区在线视频| 亚洲一级生活片| 亚洲高清在线精品| 高清国产在线观看| 亚洲精品少妇30p| 久久精品老司机| 日本一二三四高清不卡| 色哟哟网站在线观看| 2023国产精品视频| 99精品在线观看视频| 日韩欧美不卡一区| caoporm超碰国产精品| 91精品国产综合久久蜜臀| 国产高清无密码一区二区三区| 欧美性大战久久| 激情伊人五月天久久综合| 色av一区二区| 美女视频一区二区| 在线亚洲精品福利网址导航| 久久97超碰色| 欧美三级韩国三级日本一级| 国产综合色精品一区二区三区| 91激情五月电影| 久久99久久精品欧美| 欧美色视频一区| 国产麻豆精品一区二区| 欧美日韩国产综合久久| 国产91精品一区二区麻豆亚洲| 欧美精品99久久久**| 岛国精品在线观看| 欧美xxxx老人做受| 91在线免费播放| 久久久久久日产精品| 亚洲av熟女高潮一区二区| 国产精品亲子乱子伦xxxx裸| 精品少妇一区二区三区免费观| 亚洲免费观看在线观看| 欧美自拍偷拍网| 日日摸夜夜添夜夜添国产精品 | 黑人性生活视频| 国产日韩欧美精品电影三级在线 | 精品视频色一区| 国产精品一区二区在线看| 日韩三级在线观看| 伊人久久久久久久久| 一色桃子久久精品亚洲| 亚洲综合第一区| 全部av―极品视觉盛宴亚洲| 欧美在线你懂得| www.一区二区| 国产亚洲精品aa午夜观看| 亚洲精品女人久久久| 一区二区三区不卡视频| 91日韩中文字幕| 国产一区二区三区四区五区美女 | 色视频欧美一区二区三区| 精品午夜久久福利影院| 日韩欧美亚洲一区二区| 亚洲少妇中文字幕| 亚洲女同女同女同女同女同69| 天堂а√在线中文在线鲁大师| 免费欧美在线视频| 91精品国产综合久久小美女| 国产成人精品一区二区三区在线观看| 亚洲天堂成人网| 91久久国产综合| 国产麻豆精品在线| 久久精品一二三| 成人性生交大片免费看无遮挡aⅴ| 日韩精品成人一区二区三区| 欧美日韩精品久久久| 国产精品成人免费一区久久羞羞| 亚洲欧洲综合另类在线| 免费三级在线观看| 国产99精品在线观看| 欧美国产激情二区三区| 日本免费网站视频| 国产精品18久久久久| 国产欧美日韩不卡免费| 亚洲天堂网av在线| 成人午夜碰碰视频| 国产精品福利影院| 天天色影综合网| voyeur盗摄精品| 亚洲欧美日韩中文播放| 在线视频欧美精品| 久久久久无码精品| 亚洲福中文字幕伊人影院| 欧美精品久久99久久在免费线| wwwxx日本| 日日夜夜一区二区| 精品国产欧美一区二区| 国产真实乱人偷精品人妻| 国产一区二区不卡在线| 欧美国产成人在线| 色噜噜久久综合| 亚洲成年人av| 日韩av不卡一区二区| 久久午夜羞羞影院免费观看| 国产一二三四视频| 国产成人精品免费一区二区| 亚洲欧美一区二区三区极速播放 | 国内精品免费视频| 日本不卡一区二区| 久久久久久久久久电影| 91杏吧porn蝌蚪| 亚洲熟女一区二区三区| 奇米精品一区二区三区在线观看 | 午夜视频在线观看一区二区 | 97精品视频在线观看自产线路二| 一区二区三区鲁丝不卡| 欧美一区午夜视频在线观看| 一级黄色片大全| 国产成人福利片| 尤物av一区二区| 欧美一级在线视频| 五月婷婷六月香| 手机看片国产精品| 日韩高清一区在线| 国产欧美精品一区aⅴ影院| 色偷偷88欧美精品久久久| 丰满人妻一区二区三区免费视频棣| 美女视频黄 久久| 中文字幕在线观看不卡视频| 在线播放91灌醉迷j高跟美女 | 国产一区二区精品久久| 亚洲男人电影天堂| 日韩一区和二区| 日韩国产第一页| 91九色蝌蚪porny| 国产精品一品二品| 亚洲国产精品久久一线不卡| 久久影院午夜片一区| 在线观看免费成人| 一区二区黄色片| av电影天堂一区二区在线| 日韩av中文字幕一区二区三区| 日本一区二区电影| 欧美一区二区视频网站| 波多野结衣在线网址| 中文字幕第3页| 国产suv精品一区二区883| 午夜影视日本亚洲欧洲精品| 中文字幕不卡的av| 欧美一二三区在线观看| 一本色道久久综合精品竹菊| 欧美图片一区二区| 91美女在线视频| 国产麻豆成人精品|