none
Retornar contralor dentro de otro. RRS feed

  • Pregunta

  • hola,

    Existe alguna manera de retornar un controlador dentro de otro?... estoy realizando una aplicacion en la que debo redireccionar a tres controladores diferentes dependiendo de una variable que recibo en el primer controlador.

    Muchas gracias.


    Daniel Perez

    viernes, 27 de septiembre de 2013 17:08

Respuestas

  • hola

    podrias hacer

    public class NombreController{
    
        public ActionResult NombreAction1(int paramaction)
    	{
    
            switch(paramaction)
    		{
    			case 1: 
    				return RedirectToAction("NombreAction2");
    			case 2:
    				return RedirectToAction("NombreAction1", "NombreOtroControlller");
    			default:
    				return RedirectToAction("NombreAction3");
            }
    
       }
    
    }

    con esto redireccionas a distintos lugares segun la condicion

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina

    • Marcado como respuesta danieling sábado, 28 de septiembre de 2013 15:46
    sábado, 28 de septiembre de 2013 11:21
  • una pregunta adicional y como podría enviar parámetros a los nuevos controladores?

    si analiza los parametros

    Controller.RedirectToAction Method

    veras que puedes asignar valores como ser

    return RedirectToAction("NombreAction2", new { prop = valor, prop2 = valor2 });

    los nombres de la prop debes coincidir con los parametros del action al cual redireccionas

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina

    • Marcado como respuesta danieling sábado, 28 de septiembre de 2013 17:45
    sábado, 28 de septiembre de 2013 17:42

Todas las respuestas

  • El controlador no es más que una simple clase que contiene métodos de acción. Normalmente no tiene nunca sentido "retornarlo". Al recibir una petición desde el navegador, se crea automáticamente una instancia de la clase y se ejecuta uno de sus métodos. No existe en ningún momento un proceso en el que se "retorne" un controlador. Tendrás que explicar de forma un poco más clara qué es lo que pretendes conseguir.
    sábado, 28 de septiembre de 2013 10:31
  • hola

    podrias hacer

    public class NombreController{
    
        public ActionResult NombreAction1(int paramaction)
    	{
    
            switch(paramaction)
    		{
    			case 1: 
    				return RedirectToAction("NombreAction2");
    			case 2:
    				return RedirectToAction("NombreAction1", "NombreOtroControlller");
    			default:
    				return RedirectToAction("NombreAction3");
            }
    
       }
    
    }

    con esto redireccionas a distintos lugares segun la condicion

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina

    • Marcado como respuesta danieling sábado, 28 de septiembre de 2013 15:46
    sábado, 28 de septiembre de 2013 11:21
  • Perfecto leandro gracias :).

    una pregunta adicional y como podría enviar parámetros a los nuevos controladores?

    Muchas gracias


    Daniel Perez

    sábado, 28 de septiembre de 2013 15:47
  • una pregunta adicional y como podría enviar parámetros a los nuevos controladores?

    si analiza los parametros

    Controller.RedirectToAction Method

    veras que puedes asignar valores como ser

    return RedirectToAction("NombreAction2", new { prop = valor, prop2 = valor2 });

    los nombres de la prop debes coincidir con los parametros del action al cual redireccionas

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina

    • Marcado como respuesta danieling sábado, 28 de septiembre de 2013 17:45
    sábado, 28 de septiembre de 2013 17:42
  • Perfecto ...muchas gracias :)

    Daniel Perez

    sábado, 28 de septiembre de 2013 17:45