I am trying to show 6 record in a HRML table with a button as LoadMore. On every load more click it has to fetch another 6 record. I tried as follows
In Controller
[HttpGet]
private JsonResult GetTweetData(int count)
{
try
{
using (var context = new DbContext())
{
var countData = context.ObjTwitterDatas.Count();
var count1 = 6 * count; // as default is 0 it will give 0-6 record
var query = context.ObjTwitterDatas.Where(x => x.TwitterDataId >= count1 && x.TwitterDataId <= countData).Take(6);
var dataContainer3 = query.ToList();
return Json(dataContainer3, JsonRequestBehavior.AllowGet);
}
}
catch (Exception e)
{
return Json(new { success = false, ex = e.Message }, JsonRequestBehavior.AllowGet);
}
}
Ajax call in ready method
<script type="text/javascript">
$(document).ready(function () {
$.ajax({
type: "GET",
url: '@Url.Action("GetTweetData" ,"Home")',
contentType: "application/json; charset=utf-8",
data: { count: 0}, // The count should be dynamic on load more to ferch next 6 record on button click
dataType: "json",
success: function (data) {
if(data.length>0){
//Appending Data in Table
}
else{
alert('No More Records to Load')
}
},
error: function () {
alert("Error");
}
});
});
$('#Btn-More').on("click", function () {
// Calling same method to fetch but not able to make properly to get more 6 record eg. 7-12
});
</script>
var count = 0;that you increment each time you make an ajax call -count = count + 6;