none
Obtener resultado metodo con Razor RRS feed

  • Pregunta

  • Hola, tengo una vista que tiene una grilla y necesito llamar un metodo que me obtiene un string para poder aplicarlo a esta. Como se llamaria a un metodo que esta en la logicaNegocio con Razor? El metodo lo unico que hace es pasandole un id, me obtiene un objeto y de ese objeto quiero el valor de nombre.

    Gracias.

    miércoles, 21 de noviembre de 2018 14:49

Respuestas

  • Suponiendo que la capa de negocio sea accesible desde la de presentación, y que la clase sea pública y el método sea estático, entonces desde la vista en Razor podrías llamarlo así:

    @MiEspacioDeNombres.Negocio.LaClase.Metodo(1234).Nombre

    es decir, exactamente igual que lo llamarías desde cualquier otro sitio en el que resulte accesible, como por ejemplo el controlador, pero anteponiéndole una @.

    Sin embargo, aunque eso es factible, no deberías hacerlo. La idea de MVC es que no se mete nada de lógica en la vista, sino que toda la programación va en el controlador, que es el que llama a la capa de negocio y obtiene ese dato, y luego el controlador es el que se lo pasa a la vista. Para pasarlo del controlador a la vista, simplemente se añade un campo más al modelo (estarás usando un modelo específico para la vista, y no la chapuza que enseñan en los tutoriales de usar aquí el mismo modelo de la capa de datos, ¿verdad?) y se mete en ese campo el resultado de llamar al método de la capa de negocio.

    • Propuesto como respuesta Sergio ParraModerator jueves, 22 de noviembre de 2018 1:10
    • Marcado como respuesta Nacho Sa viernes, 23 de noviembre de 2018 5:39
    miércoles, 21 de noviembre de 2018 16:41
  • hola

    es con razor ? o es desde el browser visualizando el grid

    porque desde javascript puedes acceder al servidor usando $.ajax de jquery

    ASP.Net MVC: jQuery AJAX and JSON Example

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    • Marcado como respuesta Nacho Sa viernes, 23 de noviembre de 2018 5:39
    miércoles, 21 de noviembre de 2018 16:37

Todas las respuestas

  • hola

    es con razor ? o es desde el browser visualizando el grid

    porque desde javascript puedes acceder al servidor usando $.ajax de jquery

    ASP.Net MVC: jQuery AJAX and JSON Example

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    • Marcado como respuesta Nacho Sa viernes, 23 de noviembre de 2018 5:39
    miércoles, 21 de noviembre de 2018 16:37
  • Suponiendo que la capa de negocio sea accesible desde la de presentación, y que la clase sea pública y el método sea estático, entonces desde la vista en Razor podrías llamarlo así:

    @MiEspacioDeNombres.Negocio.LaClase.Metodo(1234).Nombre

    es decir, exactamente igual que lo llamarías desde cualquier otro sitio en el que resulte accesible, como por ejemplo el controlador, pero anteponiéndole una @.

    Sin embargo, aunque eso es factible, no deberías hacerlo. La idea de MVC es que no se mete nada de lógica en la vista, sino que toda la programación va en el controlador, que es el que llama a la capa de negocio y obtiene ese dato, y luego el controlador es el que se lo pasa a la vista. Para pasarlo del controlador a la vista, simplemente se añade un campo más al modelo (estarás usando un modelo específico para la vista, y no la chapuza que enseñan en los tutoriales de usar aquí el mismo modelo de la capa de datos, ¿verdad?) y se mete en ese campo el resultado de llamar al método de la capa de negocio.

    • Propuesto como respuesta Sergio ParraModerator jueves, 22 de noviembre de 2018 1:10
    • Marcado como respuesta Nacho Sa viernes, 23 de noviembre de 2018 5:39
    miércoles, 21 de noviembre de 2018 16:41