[英]how to catch jquery datatable server side data source parameters in ASP.Net MVC
我在我的ASP.Net MVC應用程序中使用jQuery Datatable和服務器端處理作為數據源。 我需要在查詢中應用搜索字詞,但我不知道如何捕捉它。
這是我的控制器的簡短版本:
public JsonResult Index(POFilter m) {
return Json(new {
data = data,
...
})
}
POFilter.cs
public class POFilter
{
public int start { get; set; }
public int length { get; set; }
public int draw { get; set; }
public List<DT_Order> order { get; set; }
public string[] search { get; set; }
public POFilter()
{
start = 0;
length = 10;
draw = 1;
}
}
public class DT_Order
{
public int column { get; set; }
public string dir { get; set; }
}
但由於某種原因, search property
始終為null。 您可以看到jquery datatable傳遞的參數:
order[0][column]:0
order[0][dir]:desc
start:0
length:10
search[value]:my search term
search[regex]:false
如何從傳遞的參數中獲取my search term
?
我正在使用一個對象來保存搜索結果。 而不是使用:
public string[] search { get; set; }
我用:
public DataTableSearch Search { get; set; }
其中DataTableSearch定義為:
public class DataTableSearch
{
public string Value { get; set; }
public string Regex { get; set; }
}
讓我知道這是否不能解決您的問題(如果您仍然有問題)。
使用datatables.mvc5 nuget包獲取鍵入的modelbinder:
public JsonResult GetData([ModelBinder(typeof(DataTablesBinder))] IDataTablesRequest requestModel)
{
// requestModel.Start..
// requestModel.Length..
// requestModel.Columns..
}
看一下這個項目,它是一個由朋友制作的MVC / Jquery數據表實現。 我幾乎在所有項目中都使用了
https://github.com/amoerie/generic-datatables
實施起來有點困難,但是一旦安裝到位,就很容易使用
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.