В вашем частичном представлении, я бы предложил заключить все это в div:
<div id="partial1">
В javascript вам понадобится функция, чтобы использовать AJAX для загрузки частичного представления в div:
$("#partial1").load("_News", { id="1"} );
Это использует jQuery.Некоторая документация здесь .По сути, это заменит указанный div на представление, сгенерированное в результате вызова вашего действия _News.Идентификатор может быть изменен, если вы добавите некоторую логику в вызов javascript.
Затем оберните вызов в load()
в setTimeout()
:
var t = setTimeout(function () {$("#partial1").load("_News", { id="1"} );}, 60000);
, который запустит включенную функциюкаждые 60 секунд.t
может использоваться, таким образом, clearTimeout(t)
в любом месте вашего кода JavaScript, чтобы остановить автоматическое обновление.
EDIT
Это должно решить проблему кэширования.Спасибо @iko за предложение.Я заметил, что вам нужно cache: false
, чтобы это работало.
var t = setTimeout(function () { $.ajax({
url: "_News",
data: { "id": "1" },
type: "POST",
cache: false,
success: function (data) {
$("#partial1").innerHTML = data;
}}); }, 60000);