domingo, 18 de septiembre de 2011

Introduction MVC (Controladores)

Los controladores procesan solicitudes entrantes, controlan los datos proporcionados por el usuario y las interacciones y ejecutan la lógica de la aplicación adecuada. Una clase de controlador llama normalmente a un componente de vista independiente para generar el HTML para la solicitud.






Métodos de acción:

El controlador define los métodos de acción. Los controladores pueden incluir tantos métodos de acción como sea necesario.


La interacción del usuario con aplicaciones ASP.NET MVC se organiza en torno a los controladores y métodos de acción, otras palabras se encargan de interactuar con el usuario . Por ejemplo especificar una dirección URL en el explorador, hacer clic en un vínculo y enviar un formulario. Cada una de estas interacciones del usuario produce el envío de una solicitud al servidor. En cada caso, la dirección URL de la solicitud incluye información que el marco de MVC utiliza para invocar un método de acción.




Tipo de valor devuelto ActionResult
La mayoría de los métodos de acción devuelven una instancia de una clase que se deriva de ActionResult. La clase ActionResult es la base de todos los resultados de acciones. Sin embargo, hay tipos de resultados de acción diferentes, dependiendo de la tarea que el método de acción esté realizando. Por ejemplo, la acción más frecuente consiste en llamar al método View. El método View devuelve una instancia de la clase ViewResult, que se deriva de ActionResult.



Puede crear métodos de acción que devuelven un objeto de cualquier tipo, como una cadena, un entero o un valor booleano. Estos tipos de valor devueltos se incluyen en un tipo ActionResult adecuado antes de representarse en la secuencia de respuesta.


Ejemplo del un controlador (sin retornar vistas)


1.) Crear un nuevo proyecto - File - New proyect - ASP.Net MVC 3 Web Applicacion






2.)Elegir el tipo de proyecto MVC - Internet Applicacion- View engine- Razor






3.) Creando un controlador - Clic derecho sobre la carpeta "Controladores" - add - Controler...




Las acciones que crea predeterminadamente son:
 
        public ActionResult Index() 
        { 
            return View(); 
        }




Nota: No se puede utilizar esta acción hasta que no se cree una vista(view)  ya que si pueden ver el return.


4.) Modificando y agregado acciones. Agregue los siguientes acciones:


  public string Index()
  { 
     return "Hola soy un controlador :)"; 
  } 

public string Navegando(string valor)
 { 
     string message = 
                HttpUtility.HtmlEncode("El valor que usted envio es: " + valor); 

      return message; 
  } 

public string Detalles(int id)
{ 
    string message = "El numero que envio es: " + id;

    return message; 
}


5.) Probando nuestro proyecto. - Presione F5 - escriba las siguientes dirección en el URL de su navegador: ( Aun que su control se llama EjemploController, no es necesario la palabra controler)


http://localhost:1057/Ejemplo


Prueba de acción índex, algo interesante es que 


http://localhost:1057/ejemplo/Navegando?valor=test 
  
Prueba de acción Navegando, pueden notar que string valor es enviado como un parámetro.


http://localhost:1057/ejemplo/detalles/5


Prueba de acción Detalles, pueden notar que no es necesario especificar la variable que estoy enviando.



Tipo de valor devuelto ActionResult



La mayoría de los métodos de acción devuelven una instancia de una clase que se deriva de ActionResult. La clase ActionResult es la base de todos los resultados de acciones. Sin embargo, hay tipos de resultados de acción diferentes, dependiendo de la tarea que el método de acción esté realizando. Por ejemplo, la acción más frecuente consiste en llamar al método View. El método View devuelve una instancia de la clase ViewResult, que se deriva de ActionResult.


Puede crear métodos de acción que devuelven un objeto de cualquier tipo, como una cadena, un entero o un valor booleano. Estos tipos de valor devueltos se incluyen en un tipo ActionResult adecuado antes de representarse en la secuencia de respuesta.

En la tabla siguiente se muestran los tipos de resultado de acción integrados y los métodos auxiliares de acción que los devuelven.





Resultado de la acciónMétodo auxiliarDescripción
Representa una vista como una página web.
Representa una vista parcial, que define una sección 
de una vista que se puede representar dentro de otra vista.
Redirecciona a otro método de acción utilizando su
 dirección URL.
Redirecciona a otro método de acción.
Devuelve un tipo de contenido definido por el usuario.
Devuelve un objeto JSON serializado.
Devuelve un script que se puede ejecutar en el cliente.
Devuelve la salida binaria para escribir en la respuesta.
(Ninguno)
Representa un valor devuelto que se utiliza si el método
 de acción debe devolver un resultado null (vacío).

No hay comentarios.: