2011-10-17 42 views
7

tengo un controlador y una acción. esta acción es guardar datos en la base de datos. y ahora, quiero cuando envíe un botón, mi controlador hace una acción y abre una nueva ventana.ASP.Net MVC 3 Acción del controlador y Abrir nueva ventana

public ActionResult New(FormCollection collection) 
    { 

     data.Population_Code = collection["Countrys[0].CountryCode"]; 
     data.Population_Desc = collection["Countrys[0].CountryDesc"]; 
     data.Population_Grouping = collection["Countrys[0].CountryGroup"]; 
     data.Population_Type = "CNTRY"; 
     data.Population_Redudant = "N"; 
     data.Population_Modified_At = officeCode.User_Office.ToString(); 
     db.SaveChanges(); 

     //example for new window 
     //window.open('/Report/New.aspx') 

     return RedirectToAction("index"); 
    } 

para que mi controlador realice una acción y abra una nueva ventana.

¿alguien me puede ayudar?

gracias

Respuesta

16

Técnicamente, esto se puede hacer mediante la devolución de javascript que se abrirá la nueva ventana.

Sin embargo, la mayoría de los navegadores matarán a una nueva ventana llamada de esta manera (es decir, bloqueador de pop-ups).

Sería mejor, si fuera posible, abriendo el enlace a su acción en una nueva ventana desde el principio;

@Html.ActionLink("New report", "New", "Report", null, new {target = "_blank"}) 

Editar

puedo ver de su acción, que es probablemente una forma que crea el informe; también puede usar el atributo target='_blank' en un formulario.

+0

gracias Matt, sí, esto es para mostrar el informe. de hecho, tengo un informe de menú. pero ahora mi jefe me dice que haga algo así, siempre que el controlador haga una nueva acción, mostrará el informe en una nueva ventana. y ahora, me confundí sobre cómo obtener el valor que agregué. ver edición –

+0

Sí, podría usar el ejemplo actionlink para crear su enlace de menú. Esto solo abre la nueva ventana * antes * de llamar a la acción, que luego puede guardar los datos y abrir la vista del informe. –

+0

gracias he hecho mi problema. yo uso cookies para almacenar lotesId. –

Cuestiones relacionadas