Pase una variable de JavaScript como parámetro a @ url.Action ()

es posible pasar una variable javascript como un parámetro a @ url.Action (), porque por lo que sé que puede haber un problema en el servidor y el lado del cliente, mi requisito es que tengo que descargar el archivo de acuerdo con el filtro, y la llamada ajax no funciona con la descarga del archivo. así que tengo harcode el @ url.Action () que funciona pero no puedo implementarlo, ¿alguien puede sugerirme cómo pasar el parámetro a @ url.Action () o cualquier otro enfoque?

aquí está mi código

 Export as CSV 

y este es el parámetro que quiero asignar 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();  

Necesitas construir tu url usando javascript / jquery. En la vista, cambie el enlace a

 Export as CSV 

Luego en el guion

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

Sin embargo, si su formulario está marcado con FormMethod.Get , entonces puede simplemente usar un botón de envío normal y no se requiere jquery

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