2013-06-24 22 views
0

返回爲JSON和預覽我有一個控制器,我得到的結果exam​​pleController.cs:獲取數據,在CSHTML

public expChart{ 
... 
    public ActionResult ByContainer(int id) 
    { 
     var elementIds = _systemSettings.Z3FromZBIds; // CritialWorkPermitIds; 

     var kpiElements = CacheService.AllVisibleElements 
             .Where(x => elementIds.Contains(x.Id)).ToList(); 

     var container = _kpiContainerService.Find(id); 

     var result = _kpiTrendService.MonthByContainer(kpiElements, container); 
     return AsJson(result); 
    } 
} 

我把它在example.cshtml:

<div class="panel" style="display: none;" id="bottom-area-trend-charts" ng-ontroller="exampleController"> 
    <div > 
     TEST 
     {{element.Name}} 
    </div> 

</div> 

我認爲我的電話有問題。我如何在我的控制器中調用結果?

在此先感謝

+0

你爲什麼返回JSON中的內容?你想在AJAX中檢索元素? –

+0

是的,我需要檢索它在AJAX – Caveman

+0

如果你想看到的結果,你可以檢查它在Web瀏覽器:localhost/example/ByContainer/{yourid} –

回答

0

使用這樣的事情:

<script type="text/javascript"> 
    $(function() { 
     $.ajax({ 
      url: "/YourController/ByContainer", 
      type: "GET", 
      dataType: 'html', 
      data: { id: 10 }, // the value id for call your controller 
      success: function (data) { 
       // make sure your result variable is enumerable. 
       $(data).each(function (index, element) { 
        $("#bottom-area-trend-charts div").append("<p>" + element.Name + "</p>"); 
       }); 
      }, 
      error: function (xqr, errorMessage) { 
       alert(errorMessage); 
      } 
     }); 
    }); 
</script> 

,改變你的行動,這樣的:

public JsonResult ByContainer(int id) 
{ 
    var elementIds = _systemSettings.Z3FromZBIds; // CritialWorkPermitIds; 

    var kpiElements = CacheService.AllVisibleElements 
            .Where(x => elementIds.Contains(x.Id)).ToList(); 

    var container = _kpiContainerService.Find(id); 

    var result = _kpiTrendService.MonthByContainer(kpiElements, container); 

    return Json(result, JsonRequestBehavior.AllowGet); 
}