When using Ajax
in ASPNET MVC, I have 4 options to get view result at least (attached code below).
As a result, Which should I use over the other ones? In the case of the large data, I don't want to get the error msg like
Note that, the Json option (3 or 4)
can give us "Binding on the client-side is going to be faster than the performance hit of the extra network hit" benefits aspect as this answer said.
- PartialView - HttpGet
[HttpGet]
[AjaxRequest]
public PartialViewResult GetTemporaryInvoices(GetTemporaryInvoicesCriteria criteria)
{
var data = _multipleInvoicesGenerationService.GetTemporaryInvoices(criteria);
return PartialView("~./InvoicesTable_Content.cshtml", data);
}
- PartialView - HttpPost
[HttpPost]
[AjaxRequest]
public PartialViewResult GetTemporaryInvoices(GetTemporaryInvoicesCriteria criteria)
{
var data = _multipleInvoicesGenerationService.GetTemporaryInvoices(criteria);
return PartialView("~./InvoicesTable_Content.cshtml", data);
}
- Json - HttpGet
[HttpGet]
[AjaxRequest]
public JsonResult GetTemporaryInvoices(GetTemporaryInvoicesCriteria criteria)
{
var jsonData = _multipleInvoicesGenerationService.GetTemporaryInvoices(criteria);
return Json(jsonData, JsonRequestBehavior.AllowGet);
}
- Json - HttpPost
[HttpPost]
[AjaxRequest]
public JsonResult GetTemporaryInvoices(GetTemporaryInvoicesCriteria criteria)
{
var jsonData = _multipleInvoicesGenerationService.GetTemporaryInvoices(criteria);
return Json(jsonData);
}