none
Inserir eventos em C# em botão utilizando o ASP.NET MVC 3

    Question

  • Gostaria de saber se há alguma forma de utilizar os eventos comuns de botões em C# utilizando o ASP.NET MVC 3, consegui colocar evento como o OnClick no Javascript, porém toda vez que clico nele o mesmo recarrega a página.

    Obrigado.

    Raynner.


    Estudante de Bacharelado em Sistemas de Informação
    Formado como Técnico em Informática com ênfase em Análise e Desenvolvimento de Sistemas
    Desenvolvedor C#
    Design RDM
    Wednesday, August 03, 2011 7:42 PM

Answers

  • Use jquery e seja feliz:

    <button type="button" id="idBotao">Teste</button>
    

    $(function(){
        $("#idBotao").click(function(){
          //EXECUTA AÇÃO
        });
    });
    

    No seu caso a tag <button> sem o atributo "type" é vista pelo browser como um botão de submit.

    Coloque o atributo type="button" para modificar a ação padrão.

     

    • Proposed as answer by Latino Thursday, August 04, 2011 6:19 PM
    • Marked as answer by Raynner Thursday, August 04, 2011 6:32 PM
    Thursday, August 04, 2011 6:17 PM

All replies

  • é se for um submit button ele vai recarregar mesmo enviando os dados para o action do form,

    vc pode colocar no evento onsubmit do form o que vc quer fazer,

    ou voce pode criar um botao com a tag <a>

    Wednesday, August 03, 2011 10:33 PM
  • Não estou usando o componente Button mesmo, sem ser submit.

    Até mais.


    Estudante de Bacharelado em Sistemas de Informação
    Formado como Técnico em Informática com ênfase em Análise e Desenvolvimento de Sistemas
    Desenvolvedor C#
    Design RDM
    Thursday, August 04, 2011 12:38 AM
  • Posta a sua tag HTML que você está inserindo para podermos dar uma olhada.

     

    Abs!

    Thursday, August 04, 2011 2:16 PM
  • Segue abaixo:

    <button id="btAlgo">Cadastro</button>
    

    Até mais.


    Estudante de Bacharelado em Sistemas de Informação
    Formado como Técnico em Informática com ênfase em Análise e Desenvolvimento de Sistemas
    Desenvolvedor C#
    Design RDM
    Thursday, August 04, 2011 3:32 PM
  • Nao sei direito o que você quer fazer..

    Vê se te ajuda:

        <button type="button" name="create" class="newButton" onclick="document.location.href=$('#createkUrl').attr('href')")>Criar Novo</button>
        <a id="createkUrl" href="@Html.AttributeEncode(Url.Action("Metodo", "Classe"))" style="display:none;"></a>

    Thursday, August 04, 2011 4:35 PM
  • Na verdade esse código está tentando abrir o método como uma páginae não executar o conteúdo do mesmo.

    Até mais.


    Estudante de Bacharelado em Sistemas de Informação
    Formado como Técnico em Informática com ênfase em Análise e Desenvolvimento de Sistemas
    Desenvolvedor C#
    Design RDM
    Thursday, August 04, 2011 5:12 PM
  • Use jquery e seja feliz:

    <button type="button" id="idBotao">Teste</button>
    

    $(function(){
        $("#idBotao").click(function(){
          //EXECUTA AÇÃO
        });
    });
    

    No seu caso a tag <button> sem o atributo "type" é vista pelo browser como um botão de submit.

    Coloque o atributo type="button" para modificar a ação padrão.

     

    • Proposed as answer by Latino Thursday, August 04, 2011 6:19 PM
    • Marked as answer by Raynner Thursday, August 04, 2011 6:32 PM
    Thursday, August 04, 2011 6:17 PM
  • Olá Raynner,

    Você quer relaizar uma chamada para um controller sem (re)carregar a página toda? É isto? Se for, você pode utilizar jQuery. Por exemplo

    <input type="button" onclick="Salvar()" value="Cadastro" />

    <script type="text/javascript">

       fucntion Salvar(){

           $.ajax({

                   type: 'POST',

                   url: 'controller\cadastrar',

                   data: dados que você quer enviar

                   success: function(retorno){

                    },

                    error: function(erro){

                    }

           });

        }

    </script>

    Além disto, você deve inlcuir as referências para o jQuery (daqui por exemplo: http://code.jquery.com/jquery-1.6.1.min.js)

    Desculpe algum código que não esteja exatamente correto (sintaxe), não tenho como testar agora. Mas, acho que já dá para você ter a idéia.

    Espero ter ajudado.

     



    Allan
    Thursday, August 04, 2011 9:03 PM