У меня проблемы с рендерингом 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 всей страницы исчезает, отображается только форматированный текст второй страницы. Я не могу найти решение для этого вчера, надеясь на вход. Спасибо