2016-02-12 40 views
0

我想知道什麼是刷新面板內容的好方法,例如下面顯示的任務面板。ASP MVC sb-admin 2引導程序模板:面板內容刷新

值(任務量)通過API「可請求」。我想要做的是獲取返回JSON數組(所有任務列表)的uri/api/tasks並更新任務數量。

enter image description here

相應的div在我Index.cshtml如下所示:

<div class="col-lg-3 col-md-6"> 
      <div class="panel panel-green"> 
       <div class="panel-heading"> 
        <div class="row"> 
         <div class="col-xs-3"> 
          <i class="fa fa-tasks fa-5x"></i> 
         </div> 
         <div class="col-xs-9 text-right"> 
          <div class="huge">12</div> 
          <div>New Tasks!</div> 
         </div> 
        </div> 
       </div> 
       <a href="#"> 
        <div class="panel-footer"> 
         <span class="pull-left">View Details</span> 
         <span class="pull-right"><i class="fa fa-arrow-circle-right"></i></span> 
         <div class="clearfix"></div> 
        </div> 
       </a> 
      </div> 
     </div> 

可惜的是,我不知道從哪裏把我的API調用,以及如何調用它們。

+0

你需要使用signarR –

+0

感謝@janina,請你是一個更具體一點?你有這樣的例子嗎? – marrrschine

+0

您希望多久更新一次? – Ric

回答

1

如果你想使事情變得簡單,我將使用AJAX和jQuery的

一個onload函數的C#方法

//this will return a list of strings in json format. 
public ActionResult GetData() 
{ 
//array of string 
String[] array = {"Bob","Joe","Dave"}; 
return json(array,JsonRequestBehaviour.AllowGet); 
} 

Then in the view 
<script> 
$(document).ready(function(){ 
    $.ajax({ 
     url: "/Controller/GetData", 

     method: 'GET', 
     contentType: "application/json; charset=utf-8", 
     success: function (result) { 

     $.each(result,function(key,value){ 
     //append the dom in here for each result in the array. 
     }); 

     }, 
     error: function (result) { 
     } 
}); 
}); 
</script> 
+0

'url:「/ Controller/GetData」'指向任何控制器?我在我的Project Controllers目錄中創建了一個TaskController。但它從來沒有被稱爲TaskController! – marrrschine

+0

在這種情況下,它應該是然後url:「/任務/ GetData」通知不TaskController,因爲路由照顧你 – TinMan7757

+0

我用控制器作爲佔位符,如果你有另一個控制器說PersonController,並GetResult結果GetData它然後是,url:「/ Person/GetData」 – TinMan7757