SCRIPT
function PostExportValues(meter_id, range_type_id, start_date, end_date, returnUrl) { var meter = $("#meter_selection").val()[0]; $.ajax({ url: '@Url.Action("GridExportToExcel", "Widget")', type: 'POST', data: { MeterType: meter_id, DateRangeType: range_type_id, StartDate: start_date, EndDate: end_date, returnUrl: returnUrl, Meter: meter }, success: function () { alert("Success."); }, error: function () { alert("Error!"); } });
CONTROLLER
public void GridExportToExcel(int MeterType, int DateRangeType, DateTime? StartDate, DateTime? EndDate, string returnUrl, int Meter) { Customers customer = CustomerManager.GetCustomer(WebSecurity.CurrentUserId); //if start date is null, then set it to another early date. DateTime startDate = DateTimeManager.GetStartDate(StartDate, DateRangeType, customer.sno); //if end date is null, then set to date time now. DateTime endDate = DateTimeManager.GetEndDate(EndDate, StartDate); IQueryable<MeterReadingsForChart> meterReadings = MeterReadingManager.GetCustomerMeterReadings(customer.sno, MeterType, Meter, startDate, endDate, DateTimeManager.GetTimeIntervalTypeById(DateRangeType)).AsQueryable(); // MeterReadingManager.GetCustomerTotalMeterReadings(customer.sno, MeterType, startDate, endDate, DateTimeManager.GetTimeIntervalTypeById(DateRangeType)).AsQueryable(); var table = MeterReadingManager.GetMeterReadingsPivot(meterReadings, MeterType); //table output some thing like following: //T1 T2 T3 //10 20 25 //13 23 21 //15 26 27 var grid = new GridView(); grid.DataSource = table; grid.DataBind(); Response.ClearContent(); Response.AddHeader("content-disposition", "attachment; filename=MyExcelFile.xls"); Response.ContentType = "application/excel"; StringWriter sw = new StringWriter(); HtmlTextWriter htw = new HtmlTextWriter(sw); grid.RenderControl(htw); Response.Write(sw.ToString()); Response.End(); //return View("Index"); }
The GridExportToExcel method works, and the script message is Success. but no action (nothing happens).
What am I missing? I expect the excel file to be automatically downloaded.
Thanks...