在MVC 5项目中,索引页面包含2个部分视图。一个用于输入搜索参数,另一个用于显示费率(通过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");
}
答案 0 :(得分:0)
如果搜索结果是持久的,只需在document.ready上重新加载部分