none
¿Relation between the Controller Action Method and the View? RRS feed

  • Pregunta

  • Hola a todos,

    Tengo una serie de preguntas acerca de la relacion entre los metodos de controladores y las vistas:

    - Veo que el nombre de la vista esta en funcion del nombre del controlador; el nombre de la clase del controlador es el mismo del espacio de nombres
    (namespace) de la vista (representado por el nombre de la carpeta donde se encuentra el archivo .cshtml) y el nombre del metodo es el mismo que el nombre del archivo .cshtml que es la vista. ¿Por que funciona asi? Si paso por alto conceptos, ¿Como funciona exactamente?

    - ¿Hay una manera de poner los archivos .cshtml (vistas) fuera de la carpeta cuyo nombre concuerda con el nombre de la clase del controlador?

    - Es una restriccion de MVC que los nombres de los archivos .cshtml tengan el mismo nombre que los metodos de los controladores?

    - ¿Que es el metodo View() el cual es retornado desde un metodo de un controlador?

    - ¿Por que los metodos del controlador son llamados "Controller Action Method" o Metodos de accion del controlador?

    - ¿Es una restriccion de MVC que los nombres de las clases de los controladores terminen con la palabra "Controller"?

    Gracias a todos.


    martes, 23 de junio de 2015 16:48

Todas las respuestas

  • hola

    >>Veo que el nombre de la vista esta en funcion del nombre del controlador

    te equivocas, el nombre de la view por convencion debe mapear con el nombre del action

    el controller define la carpeta (dentro de Views) sonde se ubicaran las view

    >>el nombre de la clase del controlador es el mismo del espacio de nombres (namespace) de la vista

    namespace ?  es solo el nombre de la carpeta que contendra las views

    >>¿Por que funciona asi? Si paso por alto conceptos, ¿Como funciona exactamente?

    funciona de esa forma porque asp.net mvc define convenciones para que sea mas simple definir la estructura

    a que conceptos te refires que puedes pasar por alto ? puedes definir otras formas de indicar controller, action y view a la definida por defecto, por ejemplo si quieres en un action definir una view diferentes podrias usar

    public ActionResult Index(){

        return View("Inicio");

    }

    en este caso buscara una view de nombre Inicio.cshtml dentro de la carpeta view con el nombre del controller

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    martes, 23 de junio de 2015 17:17
  • >>¿Que es el metodo View() el cual es retornado desde un metodo de un controlador?

    es un metodo que se hereda de la clase Controller, si te fijas la clase que defines hereda funcionalidad

    bueno de alli sale ese metodo

    >>¿Por que los metodos del controlador son llamados "Controller Action Method" o Metodos de accion del controlador?

    no entendi, solo estas planteando una traduccion ?

    >>¿Es una restriccion de MVC que los nombres de las clases de los controladores terminen con la palabra "Controller"?

    no lo llames restriccion, llamalo convencion

    asp.net mvc no restringe nada, todo se puede cambiar, pero por convercion para hacerlo mas simple define una forma de trabajo estandar

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina


    martes, 23 de junio de 2015 17:21