如何在服务器端处理中使用数据表搜索
How to use search on datatables with server-side processing?
使用数据表时server-side
处理。如何将搜索值传递到服务器?我看过文档。
数据表自动将draw
、start
和length
发送到服务器。我可以而且应该用search
做一些模拟的事情吗?文档提到了search[value]
,但我不知道如何解释它。
客户
$(document).ready(function () {
var url = '@Url.Action("GetJsonData", "Home")';
$('#example').dataTable({
'searching': true,
"paging": true,
"processing": true,
"serverSide": true,
"ajax": {
"url": url,
"type": "GET"
},
"columns": [
{ "data": "id" },
{ "data": "name" }
]
});
});
服务器
public JsonResult GetJsonData(string draw, int start, int length, string search)
{
var hugeDataArr = new object[100];
var returnDataArr = new object[length];
for (int i = 0; i < hugeDataArr.Length; i++)
{
hugeDataArr[i] = new
{
DT_RowId = i,
id = "id" + i.ToString().PadLeft(2, '0'),
name = "nameæøå" + i.ToString().PadLeft(2, '0')
};
}
for (int i = 0; i < length; i++)
{
returnDataArr[i] = hugeDataArr[start + i];
}
JsonResult json = Json(new
{
draw = Convert.ToInt32(draw),
recordsTotal = 100, // calculated field
recordsFiltered = 50, // calculated field
data = returnDataArr
}, JsonRequestBehavior.AllowGet);
return json;
}
您不应该使用搜索作为参数。但它会自动成为查询字符串的一部分。
public JsonResult GetJsonData(string draw, int start, int length)
{
string search = Request.QueryString["search[value]"];
// your code for search filtering
}
谢谢拉维
我使用它,因为它从来都不是空的,而是一个空字符串。
Request.Form.GetValues("search[value]")[0]
如果你想在服务器端获取serach box的值:
字符串搜索 = Request.Form.GetValues("search[value]")。FirstOrDefault();
这将为您提供搜索框的值。
如文档数据表中所述,传递一个包含两个值的搜索数组。search[value] 是过滤所需的搜索字符串,而 search[regex] 只是一个布尔值,表示搜索 [value] 应该被解释为正则表达式还是字符串。
如果要在特定列中搜索值,则搜索字符串将位于列[i][搜索][值]中
如果 search[value]
参数始终为 null,请确保在客户端使用 Ajax 调用POST
并且控制器的操作方法标记为 [HttpPost]
。
客户端:
$('#example').dataTable({
"processing": true,
"serverSide": true,
"ajax": {
"url": url,
"type": "POST"
},
//Other configurations
});
服务器:
[HttpPost]
public JsonResult GetJsonData(string draw, int start, int length)
{
string search = Request.QueryString["search[value]"];
// your code for search filtering
}
相关文章:
- 用程序搜索JQuery数据表中的文本
- 使用数据表,如何在要搜索的
中指定元素 - 如何使用代码点火器使用Bootstarp数据表搜索数据嵌套表数据
- 数据表 + 列搜索 + 整体搜索协同工作 + 服务器端处理
- 数据表 + 服务器端处理 + 搜索筛选
- 允许在表刷新后键入数据表搜索按钮
- 数据表或搜索
- 用于服务器端处理的数据表,包括分页、筛选和搜索
- 使用数据表,我想只搜索第一个字母
- 如何在服务器端处理中使用数据表搜索
- 代码点火器 - jQuery 数据表 搜索和分页时不会保留复选框中的选中值
- 使用GET变量自动提交数据表搜索
- JQuery数据表-搜索-删除Dom元素
- 为angular2的数据表搜索/过滤组件
- 具有数据表搜索功能的Daterangepicker无法工作
- Jquery数据表搜索选项不启用排序图标
- 数据表搜索框
- Keyup功能不工作的数据表搜索
- 数据表搜索所单击的元素
- Jquery数据表搜索