Passa una variabile javascript come parametro a @ url.Action ()

è ansible passare una variabile javascript come parametro a @ url.Action (), perché, per quanto ne so, potrebbero esserci problemi di server e lato client, il mio requisito è che devo scaricare il file in base al filtro e una chiamata ajax non funziona con il download del file. quindi ho harcode @ url.Action () che funziona ma non riesco a implementarlo, qualcuno può suggerirmi come passare il parametro a @ url.Action () o qualsiasi altro approccio.

ecco il mio codice

 Export as CSV 

e questo è il parametro che voglio assegnare a @ Url.Action

  var accountType = $('#SelectedAccountType').val(); var fromDate = $('#FromDate').val(); var toDate = $('#ToDate').val(); var accountId = $('#SelectedAccount').val(); var userId = $('#SelectedUser').val(); var teamId = $('#SelectedTeam').val();  

Devi creare il tuo URL usando javascript / jquery. Nella vista cambia il link a

 Export as CSV 

Quindi nella sceneggiatura

 var baseurl = '@Url.Action("Export")'; $('#export').click(function() { var url = baseurl + '?SelectedAccountType=' + $('#SelectedAccountType').val() + '&FromDate=' + $('#FromDate').val() + '&ToDate=' + $('#ToDate').val() + ...etc location.href=url; }); 

Tuttavia, se il tuo modulo è contrassegnato con FormMethod.Get , puoi semplicemente utilizzare un normale pulsante di invio e non è richiesto alcun jquery

 @using (Html.BeginForm("Export", "yourControllerName", FormMethod.Get)) { @Html.TextBoxForm(m => m.SelectedAccountType) ....  }