Обновление gridview внутри модальности частичного просмотра - PullRequest
0 голосов
/ 06 ноября 2018

У меня проблемы с рендерингом gridview с разбиением на страницы на модале. Всякий раз, когда я нажимаю на другие страницы, модал вообще не отображается. Просто текст с форматированием следующей страницы. Пока это единственные, которые я могу показать, но если вам нужно увидеть скриншот проблемы или контроллер, я постараюсь опубликовать его.

Нет проблем с настройкой нумерации страниц. Единственное, это мнение. Я вызываю #modal-container, используя ссылку действия из вида INDEX, а затем показываю данные сетки внутри. Проблема в том, что когда я щелкаю по следующей странице данных, хотя она переходит на следующую страницу, она отменяет рендеринг всех CSS всей страницы. Просто урезанный форматированный текст. Как я могу обновить только gridview?

@Html.ActionLink("Transaction History", "TransactionHistory", "AccountBalance", new { accountID = item.AccountID, page = 1, pageSize = 15 },
                               htmlAttributes: new
                               {
                                   onclick = "GetPlayersDetails('" + item.AccountID + "')",
                                   data_target = "#modal-container",
                                   data_toggle = "modal",
                                   @class = "btn btn-xs btn-flat btn-warning"
                               }).If("AccountBalance", "TransactionHistory")

Вот код онклика AJAX:

function GetPlayersDetails(accountID) {
        console.log('asdasd');
                    $.ajax({
                        url: '@Url.Action("TransactionHistory")', //"/Player/GetPlayersByTeam",  
                        dataType: "html",
                        data: { accountID: accountID },
                        type: "GET",
                        error: function (xhr, status, error) {
                            var err = eval("(" + xhr.responseText + ")");
                            toastr.error(err.message);
                            console.log('error');
                        },
                        success: function (data) {
                            $('#qweqwe').html(data);
                            console.log('success');
                        }
                    });
                }

Вот частичное представление Модал:

                <table id="qweqwe" class="table table-hover table-bordered table-striped text-sm ordertable">
                <thead>
                    <tr>
                        <th width="35%">Transaction Date</th>
                        <th>Notes</th>
                        <th>Amount IN</th>
                        <th>Amount Out</th>
                    </tr>
                </thead>
                <tbody id="checkboxTable">
                    @foreach (var item in Model.History)
                    {
                        <tr id="tableRow" class="text-center">
                            <td><br />@Html.DisplayFor(modelItem => item.TransactionDate)</td>
                            <td><br />@Html.DisplayFor(modelItem => item.Notes)</td>
                            <td><br />@Html.DisplayFor(modelItem => item.AmountIn)</td>
                            <td><br />@Html.DisplayFor(modelItem => item.AmountOut)</td>
                            <td class="text-center actionTD hidden">
                            </td>
                        </tr>
                    }
                </tbody>
            </table>

Это пейджер на модале:

@Html.PagedListPager(Model.History, page => Url.Action("TransactionHistory",
                                  new
                                  {
                                      accountID = ViewBag.accountID,
                                      page = page
                                  }),
                               PagedListRenderOptions.EnableUnobtrusiveAjaxReplacing(new PagedListRenderOptions
                               {
                                   DisplayPageCountAndCurrentLocation = true,
                                   DisplayItemSliceAndTotal = true,
                                   ItemSliceAndTotalFormat = "Total Records: {2}",
                                   LinkToFirstPageFormat = "First",
                                   LinkToPreviousPageFormat = "Previous",
                                   LinkToNextPageFormat = "Next",
                                   LinkToLastPageFormat = "Last"
                               },
                               new AjaxOptions
                               {
                                   InsertionMode = InsertionMode.Replace,
                                   HttpMethod = "Get",
                                   UpdateTargetId = "qweqwe"
                               }))

Это действие моего контроллера:

public ActionResult TransactionHistory(int accountID, int? page)
    {
        page = page == null ? 1 : page;
        DateTime startDate = Convert.ToDateTime("10-26-2018");
        DateTime endDate = Convert.ToDateTime("10-29-2018");
        var list = BankAccountManagementBusinessLogic.GetDataUpdate(accountID, startDate, endDate, (int)page, pageSize);
        int totalRows = list.Count() > 0 ? (int)list.First().TotalRows : 0;
        var mylist = new StaticPagedList<spGetAccountTransactionHistory_Result>(list, (int)page, pageSize, totalRows);
        TransactionHistorySearchModel searchModel = new TransactionHistorySearchModel();
        TransactionHistoryViewModel model = new TransactionHistoryViewModel(searchModel, mylist);
        ViewBag.accountID = accountID;
        return PartialView(model);
    }

Теперь эти коды работают. Отображение модального вида и вида сетки. Проблема в том, что при переходе на следующую страницу CSS всей страницы исчезает, отображается только форматированный текст второй страницы. Я не могу найти решение для этого вчера, надеясь на вход. Спасибо

...