в проекте MVC 5, страница Index содержит 2 частичных вида. Один для ввода аргументов поиска, а другой для отображения ставок (через вызов ajax). Все работает так, как ожидалось, и просмотр ставок показывает возвращаемые данные. Случается, что если пользователь переходит на другую страницу, в том же проекте, то возвращается, частичный вид ставок пуст, хотя аргументы поиска в другом частичном представлении все еще присутствуют. Есть ли способ сохранить данные о ставках?Частичный вид обновлен через ajax не сохраняет данные
// Этот скрипт на индексной странице с 2 частичным видом
<script> $(function() { $('#viewSearch').submit(function() { if ($(this).valid()) { $.ajax({ url: '/Home/GetRates', type: "POST", cache: true, dataType: 'html', data: $("#viewSearch").serialize(), success: function (data) { $('#viewRates').html(data); }, }); } return false; }); }); </script>
// Это viewRates
@model Models.Rate
<table class="table table-bordered input-sm">
@foreach (var item in Model)
{
<tr>
<td>
@Html.DisplayFor(modelItem => item.Notes)
</td>
<td>
@Html.DisplayFor(modelItem => item.Daily)
</td>
<td>
@Html.ActionLink("BOOK NOW", "Edit", new { id=item.Id })
</td>
</tr>
}
</table>
// и это контроллер
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult GetRates()
{
if (ModelState.IsValid)
{
// code
...
return PartialView("~/Views/Shared/Rates.cshtml", rates);
}
return PartialView("~/Home/Contact.cshtml");
}
если результаты поиска, сохраняются только перезагружать частичное на document.ready –
Да, как Мэтт предполагают, просто вызовите AJAX снова document.ready (поскольку у вас уже есть данные поиска) –
Данные не были постоянными, как я думал. Он работал только после того, как я сохранил данные в сеансе, а не ViewBag, поскольку он был изначально. –