У меня есть проблема с повторяющимися строками в jquery с данными - PullRequest
0 голосов
/ 11 марта 2020

некоторые строки отображаются на нескольких страницах при получении Jquery данных с помощью ajax call введите описание изображения здесь введите описание изображения здесь

я использовал этот запрос ..... как я могу исправить эти ошибки я и могу ли я использовать метод unique ()?

var data = (from h in db.TwitterTrends
                        select new
                        {
                            h.Id,
                            h.Name,
                            h.TweetVolume,
                            Countries = h.TwitterTrendCountryRelations.Select(Country => Country.Country.Name).Distinct(),
                            h.LanguageCode,
                            Categories = h.TwitterTrendCategoryRelations.Select(Category => Category.Category.Id).Distinct(),
                            h.Url,
                            h.IsPublished,
                            CategoryName = h.TwitterTrendCategoryRelations.Select(Category => Category.Category.Name),
                            TrendDate = h.TwitterTrendCountryRelations.OrderByDescending(b => b.TrendDate).FirstOrDefault().TrendDate,
                            HashtagStory = h.HashtagStory
                        });
 data = query.OrderByDescending(h => h.TrendDate).Skip(skip).Take(pageSize)
//jquery datatable
  var RequestVerficationToken = $('input[name = "__RequestVerificationToken"]').val();
        $("#Twitter-List").dataTable({
            "bSort": false,
            "processing": true, // for show progress bar
            "serverSide": true, // for process server side
            "filter": true, // this is for disable filter (search box)
            "orderMulti": false, // for disable multiple column at once
            "pageLength": 10,
            "oSearch": { "sSearch": Searchvalue },
            "drawCallback": function (settings) {
                $(".select2").select2({
                    placeholder: "Please select",
                    width: 175,
                });
            },
            "ajax": {
                "url": "@Url.Action("LoadDataTable")",
                "datatype": "json",
                "type": "POST",
                "data": { __RequestVerificationToken: RequestVerficationToken }
            },
            "columns":
                [
                    { "data": "Name" },
                    { "data": "TweetVolume" },
                    { "data": "Countries" },
                    { "data": "LanguageCode" },
                    {
                        "render": function (row, data, type, full, meta) {
                            var Options = "";
                            $(CategoryOptions).each(function (i, item) {"...."}

1 Ответ

1 голос
/ 11 марта 2020

Исходя из вашего общего кода, пропуск рассчитывается неправильно

var start = Request.Form.GetValues("start")[0].ToString();
int skip = start != null ? Convert.ToInt32(start) : 0;

Это должно быть

int skip = (start != null ? Convert.ToInt32(start) : 0) * pageSize;

Поскольку, когда ваш индекс страницы равен 0, вам нужно пропустить 0 строк. Когда ваш индекс страницы равен 1, вам нужно пропустить 20 строк (предположим, что размер вашей страницы равен 20).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...