Datos del cuadro de diálogo de la interfaz de usuario al controlador MVC

Tengo un problema con mi aplicación web. Estoy usando MVC3 y no estoy tan familiarizado con él.

Estoy creando una funcionalidad para que el usuario elija documentos de solicitud para imprimir. Tengo funciones que devuelven flujo para los archivos pdf. Pero enviar datos desde la interfaz de usuario es el problema. En la página hay un botón [imprimir] cuando lo presiono, aparece un cuadro de diálogo de interfaz de usuario con casillas de verificación para que el usuario elija aplicaciones. El botón de confirmación debe ser una confirmación en la impresión.

Tengo problemas para enviar datos a mi controlador y devuelvo una nueva pestaña/ventana con el pdf. Necesito enviar 3 variables al controlador. Cadena que guarda información sobre qué imprimir, identificación del usuario y otra variable. He probado AJAX pero eso no funciona. Parece que con AJAX no puedo devolver pdf en otra pestaña (corregir si me equivoco)

Alguien me puede dar una idea de como puedo solucionar este problema? Buena solución para enviar datos desde la ventana de diálogo al controlador para que pueda devolver archivos pdf en una nueva pestaña o ventana.

Edit:

public ActionResult GetApplication(ApplicationData appldata)
{
      var application = GetApplicationPapers(appldata.ShowApplOne, appldata.ShowApplTwo); // Applications comes from report server so true or false to determine whether the pdf contains the report or not.
Response.AddHeader("Content-Disposition", "inline; filename=application.pdf");
return new FileStreamResult(application, "application/pdf");
}

Así es como parece saber. Necesita obtener los valores de las casillas de verificación del cuadro de diálogo de la interfaz de usuario para determinar qué documentos hay en la secuencia.

preguntado el 31 de julio de 12 a las 15:07

1 Respuestas

¿Podemos ver cómo se ve el método de acción en su controlador que está intentando enviar? Básicamente, podría usar un método ActionLink normal como:

@Html.ActionLink("LinkText", "ActionMethodName", 
      new {var1 = val1, var2 = val2, var3 = val3}, new {target = "_blank"})

Donde 'varX' es el nombre de sus parámetros en su método de acción.

Respondido 31 Jul 12, 15:07

Estoy implementando algo similar. Gracias por la respuesta rápida. - usuario622194

¡Estupendo! Si esto fue útil para usted, ¿consideraría marcar la respuesta como la respuesta aceptada? De esa manera puedo obtener crédito y la pregunta se puede cerrar. ¡Gracias! - Chris Knight

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.