none
Crear objetos desde una vista RRS feed

  • Pregunta

  • Hola de nuevo, Estoy utilizando c# mvc3 Razor y quiero desde una vista instanciar una clase que está en una

    nueva carpeta que cree en el proyecto que contiene clases c#. 

    La he intentado instanciar desde la vista así: Clase x = new Clase();

    Pero no me reconoce la clase, no se si es cuestión de indicar el paquete(carpeta) en donde están las clases.

    como creo lo puedo hacer?


    miércoles, 11 de julio de 2012 20:13

Respuestas

  • Aunque hayas resuelto el problema de instanciar la clase, mi sugerencia es que revises el diseño de tu aplicación. La idea de MVC es que se estructure el código aplicando lo que en inglés se llama "separation of concerns", es decir, que cada parte se dedique a "lo suyo" y no se meta en una zona de la aplicación un código que haga algo de lo que debería encargarse una parte diferente de la aplicación. En este sentido, la Vista debería simplemente recibir información dentro del modelo y pintar en pantalla los datos que vengan en ese modelo, sin hacer ningún tipo de procesamiento ni de cálculo con esos datos. Dicho procesamiento o cálculo se tendría que haber hecho previamente en el Controlador, y los resultados pasarlos ya calculados dentro del modelo, para que la Vista no tenga que hacer nada aparte de presentarlos. Si se hacen así las cosas, lo normal es que en la Vista no haya que instanciar ninguna clase. Esto ya lo habrá realizado previamente el Controlador.

    • Propuesto como respuesta Juan Fco. Miranda jueves, 12 de julio de 2012 9:18
    • Marcado como respuesta cabo27 jueves, 12 de julio de 2012 14:46
    jueves, 12 de julio de 2012 6:26

Todas las respuestas

  • Ya resolví mi problema... Era un error de capa 8...   ja ja

    en mi espacio tenia esto:

    namespace  nombreespacio.class{

    ... código

    }

    Solo quité el .class y ya me reconocía la instancia de la clase.

    miércoles, 11 de julio de 2012 20:28
  • Aunque hayas resuelto el problema de instanciar la clase, mi sugerencia es que revises el diseño de tu aplicación. La idea de MVC es que se estructure el código aplicando lo que en inglés se llama "separation of concerns", es decir, que cada parte se dedique a "lo suyo" y no se meta en una zona de la aplicación un código que haga algo de lo que debería encargarse una parte diferente de la aplicación. En este sentido, la Vista debería simplemente recibir información dentro del modelo y pintar en pantalla los datos que vengan en ese modelo, sin hacer ningún tipo de procesamiento ni de cálculo con esos datos. Dicho procesamiento o cálculo se tendría que haber hecho previamente en el Controlador, y los resultados pasarlos ya calculados dentro del modelo, para que la Vista no tenga que hacer nada aparte de presentarlos. Si se hacen así las cosas, lo normal es que en la Vista no haya que instanciar ninguna clase. Esto ya lo habrá realizado previamente el Controlador.

    • Propuesto como respuesta Juan Fco. Miranda jueves, 12 de julio de 2012 9:18
    • Marcado como respuesta cabo27 jueves, 12 de julio de 2012 14:46
    jueves, 12 de julio de 2012 6:26
  • Gracias por el consejo... Trataré de implementarlo!

    jueves, 12 de julio de 2012 14:39