Witam
Chciałem sobie dodać do mojej aplikacji odświeżanie wyników co sekundę, skorzystałem z jQuery i PartialView, ale nie działa to jak chce. Po pierwszym wejściu na stronę z tym widokiem, timer na początku dobrze odlicza czas a później strasznie przyspiesza i nie wiem dlaczego. Po przejściu do innej strony i wróceniu z powrotem od razu szybko zaczyna odliczać czas i nagle przestaje działać. Nie mam pojęcia czego to może być wina.
Używane metody akcji:
public ActionResult ListTasks(NNTaskList nnTaskList)
{
return View(nnTaskList);
}
[HttpPost]
public ActionResult AjaxRefreshTasksList(NNTaskList nnTaskList)
{
return PartialView("AjaxRefreshTasksList", nnTaskList);
}
Widok ListTasks:
@model Lynx.Domain.Concrete.NNTaskList
@{
ViewBag.Title = "TasksInfo";
}
@{ Html.RenderPartial("AjaxRefreshTasksList", Model); }
Widok: AjaxRefreshTasksList
@model Lynx.Domain.Concrete.NNTaskList
<script type="text/javascript">
setInterval(function () {
$.post('@Url.Action("AjaxRefreshTasksList")', function (data) {
$('#tasksList').html(data);
});
}, 1000);
</script>
<div id="tasksList">
<table class="details">
<thead>
<tr>
<th>ID</th>
<th>Iteration</th>
<th>Error</th>
<th>IsReady</th>
<th></th>
<th></th>
</tr>
</thead>
<tbody>
@for (int i = 0; i < Model.FeedforwardTasks.Count; i++)
{
Html.RenderPartial("FeedforwardTaskDetails", Model.FeedforwardTasks[i]);
}
@for (int i = 0; i < Model.SOMTasks.Count; i++)
{
Html.RenderPartial("SOMTaskDetails", Model.SOMTasks[i]);
}
</tbody>
</table>
</div>