none
Como programar evento do botão em uma aplicação Asp.Net MVC ? RRS feed

  • Pergunta

  • Bom amigos, estou começando agora os estudo em Asp.Net MVC, eu gostaria de uma ajudar de vcs, estou montando minha View, coloquei uns campos de texto e um botão, gostaria de saber como consigo programar o evento desse botão na parte Controller, desculpe se minha pergunta é um tanto leiga mas estou com essa dificuldade, segue um pequeno exemplo da minha view:

    @{
        ViewBag.Title = "Index";
    }

    <h1>Home</h1>
        Nome:
    <input id="txtNome" type="text" />
    <input id="btnEnviar" type="button" value="Enviar" onclick="btnEnviar" />

    terça-feira, 24 de janeiro de 2017 12:43

Respostas

  • Olá Jhonatas tudo bem?

    O que está faltando ai nesse código é um form e um input tipo submit para poder enviar "postar" os dados para o servidor. Neste estilo aqui:

    @using (Html.BeginForm("MinhaAction", "MinhaController", FormMethod.Post, new { enctype = "multipart/form-data" }))
    {
        @Html.ValidationSummary(true)
        <fieldset>
            <legend>Descrição aqui</legend>
            <label>campos aqui</label>
        </fieldset>
    
        <div class="row-fluid">
            <input type="submit" name="btnEnviar" value="Enviar" class="btn btn-primary" />
        </div>
    }
    Na controller você só precisa um método "MinhaAction" "decorada" com [httppost]

    • Sugerido como Resposta Mr. GMSOFT segunda-feira, 13 de fevereiro de 2017 13:54
    • Marcado como Resposta welington jrModerator terça-feira, 12 de dezembro de 2017 22:20
    terça-feira, 24 de janeiro de 2017 12:58
  • Olá tudo bem?

    Então, esse código tem um pequeno erro:

     [HttpPost]
     public ActionResult MinhaAction()
     {
    
         //aqui vai o código que vc quer que seja processado quando o botão seja clicado
              
         Return View();
     }

    No código de exemplo do Macoratti tem uma action similar:

    [HttpPost]
     public ActionResult AdicionaUsuario(UsuarioModel _usuarioModel)
     {
        _usuarios.CriaUsuario(_usuarioModel);
        return View();
     }

    quarta-feira, 25 de janeiro de 2017 13:04

Todas as Respostas

  • Olá Jhonatas tudo bem?

    O que está faltando ai nesse código é um form e um input tipo submit para poder enviar "postar" os dados para o servidor. Neste estilo aqui:

    @using (Html.BeginForm("MinhaAction", "MinhaController", FormMethod.Post, new { enctype = "multipart/form-data" }))
    {
        @Html.ValidationSummary(true)
        <fieldset>
            <legend>Descrição aqui</legend>
            <label>campos aqui</label>
        </fieldset>
    
        <div class="row-fluid">
            <input type="submit" name="btnEnviar" value="Enviar" class="btn btn-primary" />
        </div>
    }
    Na controller você só precisa um método "MinhaAction" "decorada" com [httppost]

    • Sugerido como Resposta Mr. GMSOFT segunda-feira, 13 de fevereiro de 2017 13:54
    • Marcado como Resposta welington jrModerator terça-feira, 12 de dezembro de 2017 22:20
    terça-feira, 24 de janeiro de 2017 12:58
  • Olá Jhonatas Silva

    É exatamente como Pablo D Pagues Ernst descreveu, te aconselho a fazer esta aplicação que esta no site abaixo para ter uma idéia!

    http://www.macoratti.net/13/04/mvc4_app.htm


    Se ajudei Vote como Útil, se resolvi seu problema clique em Marcar como Resposta.


    Daniel Ribeiro Arrais
    Consultor Sênior
    Site: www.danielarrais.com.br
    Linkedin: http://www.linkedin.com/in/danielarrais
    E-mail: arraishapkido@gmail.com
    Skype: dani.arrais

    terça-feira, 24 de janeiro de 2017 13:22
  • Bom dia Pablo, fiz exatamente como disse, mas na não consigo acessar o botão que esta no view, segue codigo que fiz no Controller, na view esta como você comentou:

    namespace SiteMVC.Controllers
    {
        public class SiteController : Controller
        {
            // GET: Site
            public ActionResult Index()
            {
                ViewBag.Mensagem = "Olá MVC";
           
                return View();
            }
    
            [HttpPost]
            public void MinhaAction()
            {
    
                btn
              
    
            }
        }
    }

    quarta-feira, 25 de janeiro de 2017 12:55
  • Olá Daniel, vou fazer esse exemplo para tentar fixa melhor, obrigado desde já!!!
    quarta-feira, 25 de janeiro de 2017 12:57
  • Olá tudo bem?

    Então, esse código tem um pequeno erro:

     [HttpPost]
     public ActionResult MinhaAction()
     {
    
         //aqui vai o código que vc quer que seja processado quando o botão seja clicado
              
         Return View();
     }

    No código de exemplo do Macoratti tem uma action similar:

    [HttpPost]
     public ActionResult AdicionaUsuario(UsuarioModel _usuarioModel)
     {
        _usuarios.CriaUsuario(_usuarioModel);
        return View();
     }

    quarta-feira, 25 de janeiro de 2017 13:04