2013-07-09 7 views
1

У меня есть контроллер с типичными видами (указатель, создание, редактирование, удаление). В индексе я показываю список атрибутов объекта. I.E. Книгиполе обновления при изменении

=============================== 
ID || Title || Author || % Read 
------------------------------- 
1 || Haaa || Oksdkds|| 90 
=============================== 

Его поле% Чтение может измениться при просмотре страницы. Есть ли способ проверить через ajax, если это поле было изменено, и обновить его?

+1

В веб-среде я не вижу другого способа, кроме цикла с таймером, который будет запрашивать сервер для изменений и при необходимости обновлять (с ajax) каждые x секунд (например). Вы можете посмотреть на http://pusher.com или искать «длинный опрос» –

+0

Помогли ли найти ниже ответ? –

+0

Да, но возникла проблема. Было много элементов, и с этим решением мне пришлось реализовать массив значений для уведомления и проверки. Итак, наконец, поскольку мое приложение является интрасети с очень небольшим количеством пользователей, и очень мало и медленными изменениями, я обновлял каждые 10 секунд. Но если в моем приложении было много пользователей, я бы использовал ваше решение. – Alberto

ответ

0

Мое предложение ниже:

Используйте таймер, чтобы постоянно обновлять читаться как ниже

setInterval("YourFunctionName();", 1000); //Time is in milliseconds 

JQuery/JavaScript

<script type="text/javascript"> 
    function YourFunctionName() { 
     var Istrue = false; 
     $.ajax({ 
      url   : "@Url.Action("ControllerName", "ActionName")", 
      contentType : "application/json; charset=utf-8", 
      dataType : "json", 
      type  : "GET", //For non complex data only 
      data  : JSON.stringify({ param1:'Value1' }) 
     }).done(function(Result) { 
      //Update the Read Field here like below 
      $('ID').html(Result.Value) 
     }) 
     .fail(function() { 
     }); 
    } 
</script> 

Метод действий

[HttpGet] 
public JsonResult ActionName() 
{ 
    return Json(new { Value = 10 }, JsonRequestBehavior.AllowGet); 
} 
Смежные вопросы