2010-05-04 90 views
3

是否有可能使用ASP.NET MVC的JsonResult類的多個對象....這是一個控制器方法,它返回我的記錄的json對象,但我也想通過計數值....使用ASP.NET MVC的JsonResult類返回多個對象

var materials = consRepository.FindAllMaterials().AsQueryable(); 
var count = materials.Count(); 
var results = new PagedList<MaterialsObj>(materials, currentPage-1, pageSize); 
return Json(results); 

如何隨着results從asp.net的MVC控制器....返回計數

回答

16

如何創建一個匿名類型和JSON'ing是什麼?

例如

var resultCount = results.Count; 
var genericResult = new { Count = resultCount, Results = results }; 
return Json(genericResult); 

然後,您可以EVAL你的JSON字符串在腳本中像以前一樣只是查詢計數和結果上的EVAL結果屬性。

+1

我的假設是你自己打電話eval函數。如果你已經完成了一個指定json結果類型的jQuery調用,它已經完成了。 – 2010-05-04 12:28:39

+0

我剛剛使用'data.Count'它給了我結果... – 2010-05-04 12:29:58

+0

@Oscar對於這種情況是正確的,但是在您想要獲取的數據不是簡單屬性的情況下,您需要傳遞一個像尼爾這樣的對象已經證明。 – 2015-10-07 14:48:46

0

有一種方法可以發送多個動態識別發送的對象。 See this

+1

請代替[只是鏈接到博客](http://meta.stackexchange.com/questions/8231/are-answers-that-just-contain-links-elsewhere-really-good-answers)包括至少一個這裏的答案摘要。通過這樣做,如果博客脫機,您的答案不會失效。它使您的答案很好地獨立。您仍然可以鏈接到博客獲取更多詳細信息。 – Bart 2012-02-29 16:19:08

0

在C#中的一部分:

使用新keywork

var genericResult = new { homeworkData = homework, attachmentData = homeworkAttachment }; 
var result = this.Json(genericResult, JsonRequestBehavior.AllowGet); 
return result; 

jQuery的一面:

function getHomewrokDetailResponse(dataSent, result) { 
if (result && result.homeworkData) { 
    homeworkId = result.homeworkData.homeworkId; 

    .... 
} 
if (result && result.attachmentData) { 
    xy = result.attachmentData.xyz; 

    .... 
}