Return Multiple Objects Using ASP.NET MVC'S Js

2019-04-11 16:19发布

问题:

Is it possible to Multiple Objects Using ASP.NET MVC'S JsonResult Class.... Here is a controller method which returns json object of my records but i also want to pass the count value....

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

How to return count along with the results from asp.net mvc controller....

回答1:

How about creating an anonymous type and JSON'ing that?

e.g.

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

You can then eval your json string in your script as before but just query the Count and Results properties on your eval result.



回答2:

There is a way to send multiple objects which are dynamically identified to send. See this.



回答3:

In C# part:

Using new keywork

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

In jquery side :

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

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

    ....
}