Tengo una página cshtml con este código:
<form action='@Url.Action("ExportExcel", "Records")' method="post" target="_blank" onsubmit="return exportExcel(), true"> <input type="hidden" name="filteredRecordsIds" id="filteredRecordsIds" value="" /> <input id="btnExportExcel" type="submit" hidden="hidden" /> </form>en js la función exportExcel:
function exportExcel() { $('#filteredRecordsIds').val(filteredRecords.map(function (record) { return record.Id })); return true; }en los registros del controlador:
public ActionResult ExportExcel(string filteredRecordsIds) {...}Me gustaría agregar modal/popup, antes del envío que le pregunte al usuario:
"¿Le gustaría exportar con cálculos?" con 2 opciones de botones: "Sí" o "No".
Dependiendo de la respuesta del usuario, me gustaría enviar la respuesta al controlador (como segundo parámetro).
¿Cómo puedo agregar eso?
¡Gracias!
Puede intentar eliminar onsubmit y usar un botón para abrir modal, luego llamar a exportExcel al hacer clic en el botón Sí:
<form action='@Url.Action("ExportExcel", "Records")' method="post" target="_blank" id="myForm"> <input type="hidden" name="filteredRecordsIds" id="filteredRecordsIds" value="" /> <input id="btnExportExcel" type="button" value="submit" data-toggle="modal" data-target="#exampleModalLong"/> </form> <!-- Modal --> <div class="modal fade" id="exampleModalLong" tabindex="-1" role="dialog" aria-labelledby="exampleModalLongTitle" aria-hidden="true"> <div class="modal-dialog" role="document"> <div class="modal-content"> <div class="modal-header"> <h5 class="modal-title" id="exampleModalLongTitle">Modal title</h5> <button type="button" class="close" data-dismiss="modal" aria-label="Close"> <span aria-hidden="true">×</span> </button> </div> <div class="modal-body"> Would you like to export with calculations? </div> <div class="modal-footer"> <button type="button" class="btn btn-primary" onclick="exportExcel()">Yes</button> <button type="button" class="btn btn-secondary" data-dismiss="modal">No</button> </div> </div> </div> </div>js (envíe el formulario en exportExcel):
function exportExcel() { $('#filteredRecordsIds').val(filteredRecords.map(function (record) { return record.Id })); $("#myForm").submit(); }