2013-12-24 4 views
0

У меня есть кнопка, которая, когда я нажимаю, хочу экспортировать несколько CSV-файлов. Но я не знаю, как это сделать. (У меня есть «Function1» и «Function2», когда нажата кнопка, я хочу, чтобы обе функции вызывались, и каждый из них генерировал CSV-файл)Как экспортировать несколько файлов csv

У меня есть код javascript для вызова функций в контроллере:

$('#exportReport').click(function() { 
      var originalAction = document.forms[0].action; 
      if (originalAction.indexOf("CorporateProfile") !== -1) { 
       document.forms[0].action = "/web/admin/configurationreports/Function1"; 

       //document.forms[1].action = "/web/admin/configurationreports/Function2"; 
       document.forms[0].submit(); 
       document.forms[0].action = originalAction;  
      }     
      return false; 
     }); 

так, когда кнопка «exportReport» нажата, я хочу назвать как «FUNCTION1» и «Function2» в контроллере

Ниже, как «FUNCTION1» выглядит следующим образом:

[HttpPost] 
    public ActionResult Function1(ConfigurationReportsCorporateProfileViewModel viewModel) 
    { 
     //inside this I generate a CSV file 
     var bytes = encoding.GetBytes(stringBuilder.ToString()); 
     return File(bytes, "text/csv", "function1.csv"); 
    } 

И я хочу также назвать «Function2», но я не уверен, как это сделать. (было бы что-то вроде добавления в javascript document.forms.action?)

ответ

0

Не уверен, что вы можете вернуть несколько файлов. Тем не менее, я делаю это, чтобы создать zip «на лету», добавить к нему оба файла CSV и вместо этого вернуть zip-файл. Это очень легко. Вы можете использовать API ICSharpCode.SharpZipLib.Zip.

Смежные вопросы