none
ASPMVC Razor llamar a función controller RRS feed

  • Pregunta

  • Hola amigos tengo una funcion en controler, y tengo mi pagina razor en el cual tengo un boton, lo que deseo es llamar a la funcion de mi controller desde mi pagina razor la cual tiene un boton

    muchas gracias


    Gracias, Victor Yucra
    lunes, 5 de septiembre de 2011 14:58

Respuestas

  • Entendiendo que el método del controlador es una acción (es público y devuelve ActionResult), la URL de dicha acción la obtienes con @Url.Action("accion", "controlador").

    P.ej. para enviar un <form>  a un controlador:

    <form method="post" action='@Url.Action("accion", "controlador")'>
    <input type="submit" />
    </form>
    

    Con eso cuando pulses el botón se llamará a la acción del controlador.

    Saludos!


    Eduard Tomàs Blog: http://geeks.ms/blogs/etomas -- Twitter: eiximenis
    • Marcado como respuesta Eder Costa jueves, 18 de octubre de 2012 14:21
    martes, 6 de septiembre de 2011 6:11
  • Hola,

    Siguiendo la nomenclatura Razor, podrias hacer algo así:

    <form action="/Search/Searching" id="searchForm" method="post">  
       <div id="search">
          <div id="searchbtn">
              <input id="Search" type="button" value="Search" />
          </div>
          <div id="searchtxt">
              <input id="txtSearch" name="txtSearch" type="text" value="" />
          </div>
       </div>
    </form>
    
    

    Ten en cuenta que en tu Controller deberás controlar un POST:

    public class SearchController : Controller
    {
        public ActionResult Index()
        {
            return View();
        }
    
        [HttpPost]
        public ActionResult Searching()
        {
            // realizar proceso de búsqueda
            return View();
        }
    }
    
    

    Saludos,

    JA Reyes.


    Please remember to Vote & "Mark As Answer" if this post is helpful to you.
    Por favor, recuerda Votar y "Marcar como respuesta" si la solución de esta pregunta te ha sido útil.
    • Marcado como respuesta Eder Costa jueves, 18 de octubre de 2012 14:21
    martes, 6 de septiembre de 2011 8:15

Todas las respuestas

  • Abajo te dejo un enlace que tiene un ejemplo de MVC3 usando el View Engine RAZOR

    MVC3RazorViewEngine

    solo tienes que deplegar el Nodo "Branches", ahi encontraras VS2010-MVC3-RAZOR, dentro esta el nodo "NerdDinner", ahi encontraras Model, Controller y View

    Ojala te sirva.

    Saludos


    • Editado Richof lunes, 5 de septiembre de 2011 19:30
    lunes, 5 de septiembre de 2011 19:27
  • Entendiendo que el método del controlador es una acción (es público y devuelve ActionResult), la URL de dicha acción la obtienes con @Url.Action("accion", "controlador").

    P.ej. para enviar un <form>  a un controlador:

    <form method="post" action='@Url.Action("accion", "controlador")'>
    <input type="submit" />
    </form>
    

    Con eso cuando pulses el botón se llamará a la acción del controlador.

    Saludos!


    Eduard Tomàs Blog: http://geeks.ms/blogs/etomas -- Twitter: eiximenis
    • Marcado como respuesta Eder Costa jueves, 18 de octubre de 2012 14:21
    martes, 6 de septiembre de 2011 6:11
  • Hola,

    Siguiendo la nomenclatura Razor, podrias hacer algo así:

    <form action="/Search/Searching" id="searchForm" method="post">  
       <div id="search">
          <div id="searchbtn">
              <input id="Search" type="button" value="Search" />
          </div>
          <div id="searchtxt">
              <input id="txtSearch" name="txtSearch" type="text" value="" />
          </div>
       </div>
    </form>
    
    

    Ten en cuenta que en tu Controller deberás controlar un POST:

    public class SearchController : Controller
    {
        public ActionResult Index()
        {
            return View();
        }
    
        [HttpPost]
        public ActionResult Searching()
        {
            // realizar proceso de búsqueda
            return View();
        }
    }
    
    

    Saludos,

    JA Reyes.


    Please remember to Vote & "Mark As Answer" if this post is helpful to you.
    Por favor, recuerda Votar y "Marcar como respuesta" si la solución de esta pregunta te ha sido útil.
    • Marcado como respuesta Eder Costa jueves, 18 de octubre de 2012 14:21
    martes, 6 de septiembre de 2011 8:15
  • un actionlink seria la solucion? la verdad es que no especificas si quieres que el resultado devuelto por la accion de tu controlador  se agregue a la vista actual o solo quieres cambiar de vista? tienes 2 opciones html.actionlink o ajax.actionlink y modificarlo con css para que parezcan botones, jeje es lo mas facil

    miércoles, 21 de diciembre de 2011 22:36