Asp.net MVC Dataatable серверной части обработки внешнего элемента в контроллер - PullRequest
0 голосов
/ 12 марта 2019

Возможно создать элемент html в datatable, который работает на стороне сервера, как поисковый ввод по умолчанию (это означает, что после каждого изменения ввода вызывается AJAX).

Я пробовал некоторые вещи, такие как DOM, Request, но у меня ничего не получалось.

Дата инициализации:

   var table = $('#allCodesTable').DataTable({
                "dom": '<"toolbar">frtip',
                "serverSide": "true",
                "processing": "true",
                "ajax": {
                    "url": "/MTMCreator/GetList",
                    "type": "POST",
                    "dataType": "json",

                },

                "columns": [
                    { data: 'Code', "name": "Code"},
                    { data: "Name", "name": "Činnosť"}, 
                    { data: "TmuVD", "name": "TMU"},
                    { data: "Description", "name": "Poznámka"},
                    { data: "Id", "name": "Id"},
                    { data: "Tmu", "name": "Tmu"},
                    { data: "Type", "name": "Type"},

                ],

                "order": [0, "arc"],
            });

JsonResult для ajax:

  public JsonResult GetList()
    {

        int start = Convert.ToInt32(Request["start"]);
        int length = Convert.ToInt32(Request["length"]);
        string searchValue = Request["search[value]"];
        string sortColumnName = Request["columns[" + Request["order[0][column]"] + "][name]"];
        string sortDirection = Request["order[0][dir]"];
        string uasCheckBox = Request["uni"]; 

        var list = new List<AnalyzeListDto>();
        using (var ctx = new ApplicationDbContext())
        {
            list = ctx.AnalyzeList.Select(i => new AnalyzeListDto()
            {
                Code = i.Code,
                Name = i.Name,
                TmuVD = i.TmuVD,
                Description = i.Description,
                Id = i.Id,
                Tmu = i.Tmu,
                Type = i.Type.ToString()

            }).ToList();     
        }

        if (!string.IsNullOrEmpty(searchValue)){
            list = list.Where(x => x.Name.ToLower().Contains(searchValue.ToLower())).ToList<AnalyzeListDto>();
        }

         list = list.Skip(start).Take(length).ToList<AnalyzeListDto>();


        return Json(new { data = list }, JsonRequestBehavior.AllowGet);
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...