博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
分享在MVC3.0中使用jQue“.NET研究”ry DataTable 插件
阅读量:6279 次
发布时间:2019-06-22

本文共 5479 字,大约阅读时间需要 18 分钟。

  前不久在网络上看见一个很不错的。后来发现在MVC中使用该插件的文章并不多。本文将介绍在MVC3.0如何使用该插件。在介绍该插件之前先简单介绍一下,推荐该插件的原因。在项目中我使用j比较多。但是发现当进行样式调整时jqgrid的样式常常会让美工头疼。而datatable插件却是一个轻量级的jQuery插件。当我通过浏览器查看该js插件rander后的源码。发现只是一个简单的html table,非常简洁。那么在没有特殊要求的情况下使用这个插件,开发人员js脚本的可维护性将得到简化,美工的样式调整也会变得更轻松!下面介绍如何在MVC3.0中使用DataTable jQuery插件。

  一、DataTable JS 核心脚本文件、 CSS文件及图片

  请到下载最新的版本的DataTable插件。该插件内附上了具体的官方DEMO。读者可自行阅读,这里只介绍这个插件的核心文件

  1.jquery.dataTables.min.js

  压缩后的核心js文件

  2.官方提供的CSS文件

  demo_page.css 、demo_table.css、 demo_table_jui.css

  可以自定义CSS样式来满足客户需求。

  3.图片文件

  包含一个Images文件夹,请将该文件请全部拷贝到MVC工程的指定目录,截图如下:                  

  二、DataTable 客户端HTML及JS代码

  html代码:

 
<
table id
=
"
myDataTable
"
class
=
"
display
"
>
<
thead
>
<
tr
>
<
th
>
标识
</
th
>
<
th
>
公司名称
</
th
>
<
th
>
地址
</
th
>
<
th
>
城市
</
th
>
</
tr
>
</
thead
>
<
tbody
>
</
tbody
>
</
table
>
<
input type
=
"
button
"
id
=
"
btnTest
"
value
=
"
根据条件重新响应后台Ajax
"
/>

  js代:

 
<
script type
=
"
text/javascript
"
>
var tbl;
$(function () {
tbl
=
$(
'
#myDataTable
'
).dataTable({
"
bServerSide
"
:
true
,
"
sAjaxSource
"
:
"
Home/AjaxHandler
"
,
//
mvc后台ajax调用接口。
'
bPaginate
'
:
true
,
//
是否分页。
"
bProcessing
"
:
true
,
//
当datatable获取数据时候是否显示正在处理提示信息。
'
bFilter
'
:
false
,
//
是否使用内置的过滤功能。
'
bLengthChange
'
:
true
,
//
是否允许用户自定义每页显示条数。
'
sPaginationType
'
:
'
full_numbers
'
,
//
分页样式
"
aoColumns
"
: [
{
"
sName
"
:
"
ID
"
,
"
bSearchable
"
:
false
,
"
bSortable
"
:
false
,
"
fnRender
"
: function (oObj) {
return
'
<a href=\"Details/
'
+
oObj.aData[
0
]
+
'
\">View</a>
'
;
}
//
自定义列的样式
},
{
"
sName
"
:
"
COMPANY_NAME
"
},
{
"
sName
"
:
"
ADDRESS
"
},
{
"
sName
"
:
"
TOWN
"
}
]
});
//
Ajax重新load控件数据。(server端)
$(
"
#btnTest
"
).click(function () {
var oSettings
=
tbl.fnSettings();
oSettings.sAjaxSource
=
"
Home/AjaxHandler2
"
;
alert(oSettings.sAjaxSource);
tbl.fnClearTable(
0
);
tbl.fnDraw();
});
});
</
script
>

  三、 MVC 服务端AJAX相关代码

  DataTable Ajax响应参数类:

 
public
class
DataTableParameter
{
///
<summary>
///
DataTable请求服务器端次数
///
</summary>
public
string
sEcho {
get
;
set
; }
///
<summary>
///
过滤文本
///
</summary>
public
string
sSearch {
get
;
set
; }
///
<summary>
///
每页显示的数量
///
</summary>
public
int
iDisplayLength {
get
;
set
; }
///
<summary>
/// 分页时每页跨度数量
///
</summary>
public
int
iDisplayStart {
get
;
set
; }
///
<summary>
///
列数
///
</summary>
public
int
iColumns {
get
;
set
; }
///
<summary>
///
排序列的数量
///
</summary>
public
int
iSortingCols {
get
;
set
; }
///
<summary>
///
逗号分割所有的列
///
</summary>
public
string
sColumns {
get
;
set
; }
}

  接着使用MVC的 ModelBinder将Action参数实体化:

 
public
JsonResult AjaxHandler(DataTableParameter param)
{
return
Json(
new
{
sEcho
=
param.sEcho,
iTotalRecords
=
50
,
iTotalDisplayRecords
=
50
,
aaData
=
new
List
<
object
>
{
new
string
[] {
"
1
"
,
"
公司信息
"
,
"
地址信息
"
,
"
城市信息
"
},
new
string
[] {
"
1
"
,
"
公司信息
"
,
"
地址信息
"
,
"
城市信息
"
},
new
string
[] {
"
1
"
,
"
公司信息
"
,
"
地址信息
"
,
"
城市信息
"
},
new
string
[] {
"
1
"
,
"
公司信息
"
,
"
地址信息
"
,
"
城市信息
"
},
new
string
[] {
"
1
"
,
"
公司信息
"
,
"
地址信息
"
,
"
城市信息
"
},
new
string
[] {
"
1
"
,
"
公司信息
"
,
"
地址信息
"
,
"
城市信息
"
},
new
string
[] {
"
1
"
,
"
公司信息
"
,
"
地址信息
"
,
"
城市信息
"
},
new
string
[] {
"
1
"
,
"
公司信息
"
,
"
地址信息
"
,
"
城市信息
"
},
new
string
[] {
"
1
"
,
"
公司信息
"
,
"
地址信息
"
,
"
城市信息
"
},
new
string
[]{
"
1
"
,
"
公司信息
"
,
"
地址信息
"
,
"
城市信息
"
}
}
}, JsonRequestBehavior.AllowGet);
}

  四、程序截图

  生成html代码如下:

 
<
table id
=
"
myDataTable
"
class
=
"
display
"
>
<
thead
>
<
tr
>
<
th style
=
"
width: 239px;
"
class
=
"
sorting_disabled
"
>
标识
</
th
>
<
th style
=
"
width: 366px;
"
class
=
"
sorting
"
>
公司名称
</
th
>
<
th style
=
"
width: 239px;
"
class
=
"
sorting
"
>
地址
</
th
>
<
th style
=
"
width: 239px;
"
class
=
"
sorting
"
>
城市
</
th
>
</
tr
>
</
thead
>
<
tbody
><
tr
class
=
"
odd
"
><
td
上海企业网站制作 style="color: #0000ff;">class
=
"
sorting_1
"
><
a href
=
"上海徐汇企业网站设计与制作n style="color: #800000;">Details/1
"
>
View
</
a
></
td
><
td
>
公司信息
</
td
><
td
>
地址信息
</
td
><
td
>
城市信息
</
td
></
tr
><
tr
class
=
"
even
"
><
td
class
=
"
sorting_1
"
><
a href
=
"
Details/1
"
>
View
</
a
></
td
><
td
>
公司信息
</
td
><
td
>
地址信息
</
td
><
td
>
城市信息
</
td
></
tr
><
tr
class
=
"
odd
"
><
td
class
=
"
sorting_1
"
><
a href
=
"
Details/1
"
>
View
</
a
></
td
><
td
>
公司信息
</
td
><
td
>
地址信息
</
td
><
td
>
城市信息
</
td
></
tr
><
tr
class
=
"
even
"
><
td
class
=
"
sorting_1
"
><
a href
=
"
Details/1
"
>
View
</
a
></
td
><
td
>
公司信息
</
td
><
td
>
地址信息
</
td
>< td
>
城市信息
</
td
></
tr
><
tr
class
=
"
odd
"
><
td
class
=
"
sorting_1
"
><
a href
=
"
Details/1
"
>
View
</
a
></
td
><
td
>
公司信息
</
td
><
td
>
地址信息
</
td
><
td
>
城市信息
</
td
></
tr
><
tr
class
=
"
even
"
><
td
class
=
"
sorting_1
"
><
a href
=
"
Details/1
"
>
View
</
a
></
td
><
td
>
公司信息
</
td
><
td
>
地址信息
</
td
><
td
>
城市信息
</
td
></
tr
><
tr
class
=
"
odd
"
><
td
class
=
"
sorting_1
"
><
a href
=
"
Details/1
"
>
View
</
a
></
td
><
td
>
公司信息
</
td
><
td
>
地址信息
</
td
><
td
>
城市信息
</
td
></
tr
><
tr
class
=
"
even
"
><
td
class
=
"
sorting_1
"
><
a href
=
"
Details/1
"
>
View
</
a
></
td
><
td
>
公司信息
</
td
><
td
>
地址信息
</
td
><
td
>
城市信息
</
td
></
tr
><
tr
class
=
"
odd
"
><
td
class
=
"
sorting_1
"
><
a href
=
"
Details/1
"
>
View
</
a
></
td
><
td
>
公司信息上海徐汇企业网站制作an style="color: #000000;"></
td
><
td
>
地址信息
</
td
><
td
>
城市信息
</
td
></
tr
><
tr
class
=
"
even
"
><
td
class
=
"
sorting_1
"
><
a href
=
"
Details/1
"
>
View
</
a
></
td
><
td
>
公司信息
</
td
><
td
>
地址信息
</
td
><
td
>
城市信息
</
td
></
tr
></
tbody
></
table
>

转载于:https://www.cnblogs.com/waw/archive/2011/10/15/2213531.html

你可能感兴趣的文章
CentOS7 yum 安装git
查看>>
启动日志中频繁出现以下信息
查看>>
httpd – 对Apache的DFOREGROUND感到困惑
查看>>
分布式锁的一点理解
查看>>
idea的maven项目,install下载重复下载本地库中已有的jar包,而且下载后jar包都是lastupdated问题...
查看>>
2019测试指南-web应用程序安全测试(二)指纹Web服务器
查看>>
树莓派3链接wifi
查看>>
js面向对象编程
查看>>
Ruby中类 模块 单例方法 总结
查看>>
jQuery的validate插件
查看>>
5-4 8 管道符 作业控制 shell变量 环境变量配置
查看>>
Enumberable
查看>>
开发者论坛一周精粹(第五十四期) 求购备案服务号1枚!
查看>>
validate表单验证及自定义方法
查看>>
javascript 中出现missing ) after argument list的错误
查看>>
使用Swagger2构建强大的RESTful API文档(2)(二十三)
查看>>
Docker容器启动报WARNING: IPv4 forwarding is disabled. Networking will not work
查看>>
(转)第三方支付参与者
查看>>
程序员修炼之道读后感2
查看>>
DWR实现服务器向客户端推送消息
查看>>