中文字幕免费精品_亚洲视频自拍_亚洲综合国产激情另类一区_色综合咪咪久久

利用ASP.NET MVC和Bootstrap快速搭建個人博客之后臺dataTable數據列表
來源:易賢網 閱讀:2232 次 日期:2016-08-05 15:19:40
溫馨提示:易賢網小編為您整理了“利用ASP.NET MVC和Bootstrap快速搭建個人博客之后臺dataTable數據列表”,方便廣大網友查閱!

jQuery dataTables 插件是一個優秀的表格插件,是后臺工程師的福音!它提供了針對數據表格的排序、瀏覽器分頁、服務器分頁、查詢、格式化等功能。dataTables 官網也提供了大量的演示和詳細的文檔進行說明,為了方便使用,這里進行詳細說明。

去官網:https://www.datatables.net/ 下載最新版本是v1.10.12。

在頁面引入:

<link rel="stylesheet" href="~/Content_Admin/css/bootstrap.min.css" />

<link rel="stylesheet" href="~/Content_Admin/css/bootstrap-responsive.min.css" />

<script type="text/javascript" src="~/Content_Admin/js/jquery.min.js"></script>

<script type="text/javascript" src="~/Content_Admin/js/bootstrap.min.js"></script>

<script type="text/javascript" src="~/Content_Admin/js/jquery.dataTables.min.js"></script>

HTML代碼: 寫上<thead></thead>標頭即可

<div class="widget-content nopadding">

<table id="archives-table" class="table table-bordered data-table mydatatable">

<thead>

<tr>

<th>編號</th>

<th>標題</th>

<th>所屬類別</th>

<th>瀏覽量</th>

<th>評論量</th>

<th>點贊量</th>

<th>狀態</th>

<th>操作</th>

<th>操作</th>

<th>操作</th>

</tr>

</thead>

<tbody></tbody>

</table>

</div>

客戶端jQuery:

$('#archives-table').dataTable({

"oLanguage": {

//國際化

"sProcessing": "<img src='/Content_Admin/img/spinner.gif'> 努力加載數據中...",

"sLengthMenu": "每頁顯示 _MENU_  條結果",

"sZeroRecords": "沒有匹配結果",

"sInfo": "總共_PAGES_ 頁,顯示第_START_ 到第 _END_ ,篩選之后得到 _TOTAL_ 條,初始_MAX_ 條 ",

"infoEmpty": "0條記錄", //篩選為空時左下角的顯示"

"sInfoEmpty": "沒有數據",

"sInfoFiltered": "(從_MAX_條數據中檢索)",//篩選之后的左下角篩選提示,

"sZeroRecords": "沒有檢索到數據",

//"sSearch": '<span class="label label-success"> 搜索 </span>'

},

//"bServerSide": false, //第一種場景:服務端一次性取出所有數據,完全由客戶端來處理這些數據.此時為false

"bServerSide": true, //第二種場景:服務端處理分頁后數據,客戶端呈現,此時為true.但此時aoColumns要變,將'sName'換成mDataProp,同時自定義列也要有對應的數據

"sServerMethod": "GET",

"sAjaxSource": "/Admin/AdminArchives/GetArchivesJson", //ajax Url地址

"bProcessing": true,

"bPaginate": true,

"sPaginationType": "full_numbers",

"bJQueryUI": true, //客戶端傳給服務器的參數為sSearch

'bFilter': false,

//'bsearch':true,

'bLengthChange': true,

'aLengthMenu': [

[5, 15, 20, -1],

[5, 15, 20, "全部"] // change per page values here

],

'iDisplayLength': 7, //每頁顯示10條記錄

'bAutoWidth': true,

"scrollX": true,

"aoColumns": [

{ "sWidth": "5%", "mDataProp": "Id" },

{

"sWidth": "40%",

"mDataProp": "Title",

"mRender": function (data, type, row) {

return '<a href="/Archives/Index/' + row.Id + '\">' + data + '</a>';

}

},

{ "sWidth": "10%", "mDataProp": "CategoryName" },

{ "sWidth": "6%", "mDataProp": "ViewCount", "bStorable": true },

{ "sWidth": "6%", "mDataProp": "CommentCount", "bStorable": true },

{ "sWidth": "6%", "mDataProp": "Digg", "bStorable": true },

{

"sWidth": "6%",

"mDataProp": "Status",

"mRender": function (data, type, row) {

var value = "已發布";

if (data == "0")

value = "禁用";

return value;

}

},

{ //自定義列 : 啟用/禁用

"mDataProp": "null",

"sWidth": "6%",

"bSearchable": false,

"bStorable": false,

"mRender": function (data, type, row) {

var actionstr = '<a id="publicarticle" class="publicaction" target-id="' + row.Id + '" href="#">發 布</a>';

if (row.Status == "1")

actionstr = '<a id="delarticle" class="delaction" target-id="' + row.Id + '" href="#">禁 用</a>';

return actionstr;

}

},

{ //自定義列 : real刪除

"mDataProp": "null",

"sWidth": "6%",

"bSearchable": false,

"bStorable": false,

"mRender": function (data, type, row) {

return '<a id="realdelarticle" class="tip" target-id="' + row.Id + '" href="#"><i class="icon-remove"></i></a>';

}

},

{ //自定義列:編輯

"mDataProp": "null",

"sWidth": "6%",

"bSearchable": false,

"bStorable": false,

"mRender": function (data, type, row) {

return '<a class="tip" href="/Admin/AdminArchives/EditArchive/' + row.Id + '"><i class="icon-pencil"></i></a>';

}

}

],

"aoColumnDefs": [

{

//報錯:DataTables warning : Requested unknown parameter '1' from the data source for row 0

//加上這段定義就不出錯了。

sDefaultContent: '',

aTargets: ['_all']

}

]

});

Jquery.DataTables插件的兩種應用場景

場景一:服務端一次性取出所有數據,完全由客戶端來處理這些數據.此時"bServerSide": false,

服務端代碼:

public JsonResult GetArchivesJson(jqDataTableParameter tableParam)

{

#region 1.0 場景一

////1. 獲取所有文章

//List<Article> DataSource = articleService.GetDataListBy(a => true, a => a.Id);

////2. 構造aaData

//var data = DataSource.Select(a => new object[]{

// a.Id,

// a.Title+ " ("+a.SubTime.ToString()+")",

// (categoryService.GetDataListBy(c=>c.Id==a.CategoryId)[0]).Name,

// a.ViewCount,

// commentService.GetDataListBy(c=>c.CmtArtId==a.Id).Count,

// a.Digg,

// a.Status==1?"正常":"刪除"

//});

////3. 返回json,aaData是一個數組,數組里面還是字符串數組

//return Json(new

//{

// sEcho = 1,

// iTotalRecords = DataSource.Count,

// iTotalDisplayRecords = data.Count(),

// aaData = data

//}, JsonRequestBehavior.AllowGet); 

#endregion

}

public JsonResult GetArchivesJson(jqDataTableParameter tableParam)

場景二:服務端處理分頁后數據,客戶端呈現,此時為true,

服務端代碼:

public JsonResult GetArchivesJson(jqDataTableParameter tableParam)

{

#region 2.0 場景二

//客戶端需要"bServerSide": true, 用mDataProp綁定字段,obj.aData.Id獲取字段(.屬性)

//0.0 全部數據

List<Article> DataSource = articleService.GetDataListBy(a => true);

//DataSource = DataSource.OrderByDescending(a => a.SubTime).ToList();

//1.0 首先獲取datatable提交過來的參數

string echo = tableParam.sEcho; //用于客戶端自己的校驗

int dataStart = tableParam.iDisplayStart;//要請求的該頁第一條數據的序號

int pageSize = tableParam.iDisplayLength == -1 ? DataSource.Count : tableParam.iDisplayLength;//每頁容量(=-1表示取全部數據)

string search = tableParam.sSearch;

//2.0 根據參數(起始序號、每頁容量、參訓參數)查詢數據

if (!String.IsNullOrEmpty(search))

{

var data = DataSource.Where(a => a.Title.Contains(search) ||

a.Keywords.Contains(search) ||

a.Contents.Contains(search))

.Skip<Article>(dataStart)

.Take(pageSize)

.Select(a => new

{

Id = a.Id,

Title = a.Title + " (" + a.SubTime.ToString() + ")",

CategoryName = a.Category.Name,

ViewCount = a.ViewCount,

CommentCount = commentService.GetDataListBy(c => c.CmtArtId == a.Id).Count,

Digg = a.Digg,

Status = a.Status

}).ToList();

//3.0 構造datatable所需要的數據json對象...aaData里面應是一個二維數組:即里面是一個數組[["","",""],[],[],[]]

return Json(new

{

sEcho = echo,

iTotalRecords = DataSource.Count(),

iTotalDisplayRecords = DataSource.Count(),

aaData = data

}, JsonRequestBehavior.AllowGet);

}

else

{

var data = DataSource.Skip<Article>(dataStart)

.Take(pageSize)

.Select(a => new

{

Id = a.Id,

Title = a.Title + " (" + a.SubTime.ToString() + ")",

CategoryName = a.Category.Name,

ViewCount = a.ViewCount,

CommentCount = commentService.GetDataListBy(c => c.CmtArtId == a.Id).Count,

Digg = a.Digg,

Status = a.Status

}).ToList();

//3.0 構造datatable所需要的數據json對象...aaData里面應是一個二維數組:即里面是一個數組[["","",""],[],[],[]]

return Json(new

{

sEcho = echo,

iTotalRecords = DataSource.Count(),

iTotalDisplayRecords = DataSource.Count(),

aaData = data

}, JsonRequestBehavior.AllowGet);

}

#endregion

}

public JsonResult GetArchivesJson(jqDataTableParameter tableParam)

其中dataTables發送的參數被分裝在jqDataTableParameter.cs中:

/// <summary>

/// 在服務器端,可以通過以下請求參數來獲得當前客戶端的操作信息

/// jquery $('selector').datatable()插件 參數model

/// </summary>

public class jqDataTableParameter

{

/// <summary>

/// 1.0 DataTable用來生成的信息

/// </summary> 

public string sEcho { get; set; }

/// <summary>

/// 2.0分頁起始索引

/// </summary>

public int iDisplayStart { get; set; }

/// <summary>

/// 3.0每頁顯示的數量

/// </summary>

public int iDisplayLength { get; set; }

/// <summary>

/// 4.0搜索字段

/// </summary>

public string sSearch { get; set; }

/// <summary>

/// 5.0列數

/// </summary>

public int iColumns { get; set; }

/// <summary>

/// 6.0排序列的數量

/// </summary>

public int iSortingCols { get; set; }

/// <summary>

/// 7.0逗號分割所有的列

/// </summary>

public string sColumns { get; set; }

}

public class jqDataTableParameter

以上就是對datatable插件的使用說明。

以上所述是小編給大家介紹的利用ASP.NET MVC和Bootstrap快速搭建個人博客之后臺dataTable數據列表,希望對大家有所幫助

更多信息請查看網絡編程
由于各方面情況的不斷調整與變化,易賢網提供的所有考試信息和咨詢回復僅供參考,敬請考生以權威部門公布的正式信息和咨詢為準!
關于我們 | 聯系我們 | 人才招聘 | 網站聲明 | 網站幫助 | 非正式的簡要咨詢 | 簡要咨詢須知 | 新媒體/短視頻平臺 | 手機站點

版權所有:易賢網

中文字幕免费精品_亚洲视频自拍_亚洲综合国产激情另类一区_色综合咪咪久久
亚洲一区二区四区蜜桃| 成人av免费观看| 欧美极品美女视频| 中文字幕一区三区| 性做久久久久久免费观看 | av中文字幕亚洲| 欧洲精品一区二区三区在线观看| 欧美图片一区二区三区| 欧美精品一区二区三区久久久| 国产精品国产a| 激情久久五月天| 欧美午夜精品一区二区蜜桃| 亚洲成人资源网| 久久综合九色综合欧美亚洲| 日本成人在线网站| 99r国产精品| 精品国产91九色蝌蚪| 国产999精品久久久久久绿帽| 欧美日韩国产一二三| 亚洲日本护士毛茸茸| 激情综合色综合久久| 色94色欧美sute亚洲线路二| 久久精品视频在线免费观看| 开心九九激情九九欧美日韩精美视频电影 | 日韩一区二区免费高清| 亚洲人成网站色在线观看| 韩日av一区二区| 亚洲精品五月天| 色综合久久88色综合天天6 | 午夜精品影院在线观看| 在线视频欧美区| 国产精一品亚洲二区在线视频| 欧美不卡一区二区三区| 久久成人羞羞网站| 亚洲图片欧美综合| 精品视频999| 午夜伊人狠狠久久| 亚洲欧洲三级电影| 亚洲国产精品99久久久久久久久| 日韩免费视频线观看| 国产一区二区三区日韩| 久久久久久亚洲综合影院红桃| 久久99久久99小草精品免视看| 亚洲乱码中文字幕| 国产精品毛片久久久久久| 91丨porny丨首页| 亚洲色图欧洲色图婷婷| 精品国产免费久久| 日韩欧美激情四射| 欧美mv日韩mv| 日韩精品资源二区在线| 欧美一区二区三区色| 国产综合色精品一区二区三区| 日韩av二区在线播放| 性感美女极品91精品| 亚洲成人综合在线| 日韩福利电影在线观看| 日韩成人免费在线| 麻豆成人91精品二区三区| 欧美激情综合在线| 国产精品短视频| ●精品国产综合乱码久久久久| 1024亚洲合集| 亚洲女子a中天字幕| 国产网站一区二区| 中文字幕在线一区| 亚洲男人天堂一区| 亚洲国产精品麻豆| 日本不卡1234视频| 国产亚洲精品福利| 欧美国产欧美亚州国产日韩mv天天看完整| 日韩区在线观看| 欧美成人国产一区二区| 日韩欧美成人一区| 欧美国产日韩在线观看| 亚洲视频每日更新| 亚洲成人精品在线观看| 久久精品久久综合| 成人黄色在线看| 91首页免费视频| 欧美在线观看视频在线| 欧美日韩综合在线| 久久亚洲一级片| 亚洲伦在线观看| 日本不卡123| 成人高清av在线| 欧美三级电影网站| 91精品国产品国语在线不卡| 国产日韩欧美激情| 91精品一区二区三区在线观看| www.亚洲人| 色一情一伦一子一伦一区| 欧美三级中文字| 精品国产伦一区二区三区免费| 欧美国产综合色视频| 亚洲一级二级在线| 国产一区二区久久| 欧美日韩一本到| 欧美v日韩v国产v| 亚洲小说欧美激情另类| 精品一区二区三区不卡 | 日韩电影一二三区| 国产jizzjizz一区二区| 欧美色视频在线观看| 久久精品人人做人人综合| 亚洲激情自拍偷拍| 国产麻豆精品视频| 欧美日本乱大交xxxxx| 中文字幕不卡一区| 日本网站在线观看一区二区三区| 成人污污视频在线观看| 一区二区三区 在线观看视频| 中文字幕一区二区不卡| 夜夜嗨av一区二区三区网页| 免费看日韩精品| 欧美三区在线观看| 一区二区三区四区高清精品免费观看 | 首页亚洲欧美制服丝腿| 亚洲男女毛片无遮挡| 极品瑜伽女神91| 欧美一级黄色片| 亚洲成人av一区二区| 在线免费观看不卡av| 亚洲精品国产成人久久av盗摄| 丁香桃色午夜亚洲一区二区三区| 欧美成人三级在线| 欧美成人激情免费网| 亚洲天堂av老司机| 免费在线视频一区| 精品国产一区二区三区久久影院| 亚洲无线码一区二区三区| 亚洲男同性视频| 日本最新不卡在线| 在线免费亚洲电影| 欧美国产日本视频| 成人av网站免费观看| 五月婷婷欧美视频| 欧美一区二区三区在线观看| 国产日韩亚洲欧美综合| 亚洲在线视频网站| 久久99热这里只有精品| 免费在线观看不卡| 亚洲精品日产精品乱码不卡| 国产精品午夜在线| 337p粉嫩大胆噜噜噜噜噜91av| 亚洲蜜臀av乱码久久精品| 久久99久久99小草精品免视看| av一二三不卡影片| 精品国产91久久久久久久妲己| 性做久久久久久免费观看 | 国产精品久久久久久久久快鸭 | 久久久久综合网| 亚洲综合成人在线视频| 婷婷成人激情在线网| 欧美一区二区三区视频在线| 麻豆极品一区二区三区| 欧美激情资源网| 欧美综合亚洲图片综合区| 美脚の诱脚舐め脚责91| 国产日韩欧美一区二区三区综合| 91免费版pro下载短视频| 日韩av二区在线播放| 国产色产综合产在线视频| 色哟哟一区二区| 韩国欧美国产1区| 亚洲视频在线一区| 日韩欧美123| 色吊一区二区三区| 麻豆中文一区二区| 亚洲人精品午夜| 日韩精品一区二区三区视频播放| 国产精品一级片| 亚洲综合精品自拍| 欧美mv日韩mv国产| 一本色道久久综合亚洲91| 欧美aaaaaa午夜精品| 亚洲欧美一区二区在线观看| 欧美亚洲丝袜传媒另类| 精一区二区三区| 亚洲高清三级视频| 国产欧美一二三区| 日韩欧美视频一区| 色婷婷久久久综合中文字幕| 国产精品影视网| 午夜视频在线观看一区二区三区| 国产精品久久午夜| 久久伊99综合婷婷久久伊| 欧美日韩国产电影| 成人午夜私人影院| 久久se精品一区精品二区| 日韩毛片精品高清免费| 国产欧美日本一区二区三区| 欧美精品在欧美一区二区少妇| av影院午夜一区| 午夜精品一区在线观看| 亚洲精品国产一区二区精华液 | 精品少妇一区二区| 欧美美女bb生活片| 成人国产免费视频| 精品中文字幕一区二区|