Ok after beating my head for around 1 days I finally changed the approach.I am now returning my object in JsonResult instead of ActionResult.
public JsonResult CustomerList(int page=1)
{
List<Customer> col=new List<Customer>();
col.Add(new Customer(.....)
.....
var result=col.skip((page-1)*pagesize)*take(pagesize);
return Json(result,JsonBehaviour.AllowGet);
}
In view now making ajax call to this controller method like this
$.getJson('/Home/CustomerList?page=' + pagefromdropdownselction,function(data){
//here I loop through the data and form html table accordingly.
$.each(data,function(key,value){
});
});
This way it works expectedly.