Compartir a través de


Crear un controlador (VB)

por Stephen Walther

En este tutorial, Stephen Walther muestra cómo puede agregar un controlador a una aplicación ASP.NET MVC.

El objetivo de este tutorial es explicar cómo puede crear nuevos controladores ASP.NET MVC. Aprenderá a crear controladores mediante la opción de menú Agregar controlador de Visual Studio y mediante la creación de un archivo de clase manualmente.

Usar la opción de menú Agregar controlador

La manera más fácil de crear un nuevo controlador es hacer clic con el botón derecho en la carpeta Controladores en la ventana Explorador de soluciones de Visual Studio y seleccionar la opción de menú Agregar, controlador (vea la figura 1). Al seleccionar esta opción de menú se abre el cuadro de diálogo Agregar controlador (vea la figura 2).

Screenshot of the Visual Studio Solution Explorer window, which is showing the Add and Controller options in the right-click menu.

Figura 01: Agregar un nuevo controlador (Haga clic para ver la imagen de tamaño completo)

Screenshot of the Add Controller dialog box, which is showing Default 1 Controller in the Controller Name field.

figura 02: El cuadro de diálogo Agregar controlador (Haga clic para ver la imagen de tamaño completo)

Observe que la primera parte del nombre del controlador está resaltada en el cuadro de diálogo Agregar controlador . Cada nombre del controlador debe terminar con el sufijo Controlador. Por ejemplo, puede crear un controlador denominado ProductController , pero no un controlador denominado Producto.

Si crea un controlador que no tiene el sufijo Controlador, no podrá invocar el controlador. No haga esto- He desperdiciado innumerables horas de mi vida después de cometer este error.

Lista 1 - Controllers\ProductController.vb

Public Class ProductController
    Inherits System.Web.Mvc.Controller

    '
    ' GET: /Product/

    Function Index() As ActionResult
        Return View()
    End Function

End Class

Siempre debe crear controladores en la carpeta Controladores. De lo contrario, infringirá las convenciones de ASP.NET MVC y otros desarrolladores tendrán un tiempo más difícil de entender la aplicación.

Métodos de acción de scaffolding

Al crear un controlador, tiene la opción de generar automáticamente métodos de acción Crear, Actualizar y Detalles (consulte la figura 3). Si selecciona esta opción, se genera la clase de controlador en la lista 2.

Creating action methods automatically

Figura 03: Crear métodos de acción automáticamente (Haga clic para ver la imagen de tamaño completo)

Lista 2 - Controllers\CustomerController.vb

Public Class CustomerController
    Inherits System.Web.Mvc.Controller

    '
    ' GET: /Customer/

    Function Index() As ActionResult
        Return View()
    End Function

    '
    ' GET: /Customer/Details/5

    Function Details(ByVal id As Integer) As ActionResult
        Return View()
    End Function

    '
    ' GET: /Customer/Create

    Function Create() As ActionResult
        Return View()
    End Function

    '
    ' POST: /Customer/Create

    <AcceptVerbs(HttpVerbs.Post)> _
    Function Create(ByVal collection As FormCollection) As ActionResult
        Try
            ' TODO: Add insert logic here
            Return RedirectToAction("Index")
        Catch
            Return View()
        End Try
    End Function

    '
    ' GET: /Customer/Edit/5

    Function Edit(ByVal id As Integer) As ActionResult
        Return View()
    End Function

    '
    ' POST: /Customer/Edit/5

    <AcceptVerbs(HttpVerbs.Post)> _
    Function Edit(ByVal id As Integer, ByVal collection As FormCollection) As ActionResult
        Try
            ' TODO: Add update logic here

            Return RedirectToAction("Index")
        Catch
            Return View()
        End Try
    End Function
End Class

Estos métodos generados son métodos de código auxiliar. Debe agregar la lógica real para crear, actualizar y mostrar los detalles de un cliente usted mismo. Pero los métodos de código auxiliar proporcionan un buen punto de partida.

Creación de una clase de controlador

El controlador ASP.NET MVC es simplemente una clase. Si lo prefiere, puede omitir la práctica scaffolding del controlador de Visual Studio y crear una clase de controlador a mano. Siga estos pasos:

  1. Haga clic con el botón derecho en la carpeta Controladores y seleccione la opción de menú Agregar, Nuevo elemento y seleccione la plantilla Clase (vea la figura 4).
  2. Asigne un nombre a la nueva clase PersonController.vb y haga clic en el botón Agregar.
  3. Modifique el archivo de clase resultante para que la clase herede de la clase Base System.Web.Mvc.Controller (vea Lista 3).

Creating a new class

Figura 04: Crear una nueva clase(Haga clic para ver la imagen de tamaño completo)

Lista 3 - Controllers\PersonController.vb

Public Class PersonController
    inherits Controller

    Function Index AS String
        Return "Hello World!"
    End Function

End Class

El controlador de la lista 3 expone una acción denominada Index() que devuelve la cadena "¡Hola mundo!". Para invocar esta acción del controlador, ejecute la aplicación y solicite una dirección URL como la siguiente:

http://localhost:40071/Person

Nota:

El ASP.NET Servidor de desarrollo usa un número de puerto aleatorio (por ejemplo, 40071). Al escribir una dirección URL para invocar un controlador, deberá proporcionar el número de puerto correcto. Para determinar el número de puerto, mantenga el mouse sobre el icono del Servidor de desarrollo de ASP.NET en el área de notificación de Windows (de la parte inferior derecha de la pantalla).