none
Vários submit na mesma view RRS feed

  • Pergunta

  • Boa noite, galera!

    Estou penando aqui há algumas horas e não consigo fazer que minha view tenha vários submits. Por exemplo:
    tenho o botão salvar que deve executar a action salvar

    tenho o botão excluir que deve executar a action exclui

    ambos botões acima passam o mesmo parâmetro, que é uma list<>

    tenho o botão buscar que passa um parâmetro texto

    Eu consigo fazer corretamente ou um ou outro, os três não consigo :(

    Alguém sabe como fazer?


    • Editado dani.ela quarta-feira, 7 de maio de 2014 23:38
    quarta-feira, 7 de maio de 2014 23:38

Respostas

  • Olá,

    você pode colocar os botões dentro de um form e definir um name para os botões. Crie uma action genérica que fara o redirecionamento pra as funções que devem ser executadas dependendo do botão clicado. Aponte o form para essa action genérica.



    Wennder Santos

    Se solucionou seu problema ou dúvida, não esqueça de marcar como resposta. Se foi util, não esqueça de marcar como util.



    • Editado Wennder SantosMVP quinta-feira, 8 de maio de 2014 14:16
    • Marcado como Resposta dani.ela quinta-feira, 8 de maio de 2014 18:04
    quinta-feira, 8 de maio de 2014 14:16
  • Olá,

    você pode colocar os botões dentro de um form e definir um name para os botões. Crie uma action genérica que fara o redirecionamento pra as funções que devem ser executadas dependendo do botão clicado. Aponte o form para essa action genérica.



    Wennder Santos

    Se solucionou seu problema ou dúvida, não esqueça de marcar como resposta. Se foi util, não esqueça de marcar como util.



    Oi Wennder,

    não entendi muito bem. Poderia dar um exemplo?

    Daniela

    Veja:

    View:

     @Using (Html.BeginForm("ActionGenerica", "SeuController", FormMethod.Post))
       
       @*Corpo da view*@
       @*Corpo da view*@
       @*Corpo da view*@
    
       <input type="submit" value="Salvar"  name="salvar" />
    
       <input type="submit" value="Excluir" name="excluir" />
    
     End Using

    Controller:

    Controller:
     <HttpPost>
            Function ActionGenerica(Sua_Lista As List(Of Seu_Modelo)) As ActionResult
                If Not Request("excluir") Is Nothing Then
                    Return Excluir(Sua_Lista) ''função para excluir
                ElseIf Not Request("salvar") Is Nothing Then
                    Return Salvar(Sua_Lista) ''Função para salvar
                Else                
                    Return RedirectToAction("Sua_View") ''view que fez o request
                End If
            End Function

    Implemente isso, teste e dê um retorno.



    Wennder Santos

    Se solucionou seu problema ou dúvida, não esqueça de marcar como resposta. Se foi util, não esqueça de marcar como util.


    quinta-feira, 8 de maio de 2014 14:26

Todas as Respostas

  • Bom dia,

    só para dar um "up".

    Daniela

    quinta-feira, 8 de maio de 2014 11:41
  • Bom dia Daniela!

    Poderia me dizer se para cada botão você tem um form definido? Se possivel poderia postar um exemplo do código para te auxiliarmos melhor.

    Att.

    Rodolfo Oliveira

    quinta-feira, 8 de maio de 2014 12:50
  • Bom dia Daniela!

    Poderia me dizer se para cada botão você tem um form definido? Se possivel poderia postar um exemplo do código para te auxiliarmos melhor.

    Att.

    Rodolfo Oliveira

    Oi Rodolfo, 

    Os dois botões estão dentro do mesmo form. Ambos botões devem passar o mesmo parâmetro. Esse parâmetro é uma list<> que eu carrego nessa view.  Essa view é tipada.

    Deu para entender a situação? Desculpa, não consigo enviar o código, no servidor onde ele está não consigo logar no msdn.

    Daniela

    quinta-feira, 8 de maio de 2014 13:30
  • Olá,

    você pode colocar os botões dentro de um form e definir um name para os botões. Crie uma action genérica que fara o redirecionamento pra as funções que devem ser executadas dependendo do botão clicado. Aponte o form para essa action genérica.



    Wennder Santos

    Se solucionou seu problema ou dúvida, não esqueça de marcar como resposta. Se foi util, não esqueça de marcar como util.



    • Editado Wennder SantosMVP quinta-feira, 8 de maio de 2014 14:16
    • Marcado como Resposta dani.ela quinta-feira, 8 de maio de 2014 18:04
    quinta-feira, 8 de maio de 2014 14:16
  • Olá,

    você pode colocar os botões dentro de um form e definir um name para os botões. Crie uma action genérica que fara o redirecionamento pra as funções que devem ser executadas dependendo do botão clicado. Aponte o form para essa action genérica.



    Wennder Santos

    Se solucionou seu problema ou dúvida, não esqueça de marcar como resposta. Se foi util, não esqueça de marcar como util.



    Oi Wennder,

    não entendi muito bem. Poderia dar um exemplo?

    Daniela

    quinta-feira, 8 de maio de 2014 14:19
  • Olá,

    você pode colocar os botões dentro de um form e definir um name para os botões. Crie uma action genérica que fara o redirecionamento pra as funções que devem ser executadas dependendo do botão clicado. Aponte o form para essa action genérica.



    Wennder Santos

    Se solucionou seu problema ou dúvida, não esqueça de marcar como resposta. Se foi util, não esqueça de marcar como util.



    Oi Wennder,

    não entendi muito bem. Poderia dar um exemplo?

    Daniela

    Veja:

    View:

     @Using (Html.BeginForm("ActionGenerica", "SeuController", FormMethod.Post))
       
       @*Corpo da view*@
       @*Corpo da view*@
       @*Corpo da view*@
    
       <input type="submit" value="Salvar"  name="salvar" />
    
       <input type="submit" value="Excluir" name="excluir" />
    
     End Using

    Controller:

    Controller:
     <HttpPost>
            Function ActionGenerica(Sua_Lista As List(Of Seu_Modelo)) As ActionResult
                If Not Request("excluir") Is Nothing Then
                    Return Excluir(Sua_Lista) ''função para excluir
                ElseIf Not Request("salvar") Is Nothing Then
                    Return Salvar(Sua_Lista) ''Função para salvar
                Else                
                    Return RedirectToAction("Sua_View") ''view que fez o request
                End If
            End Function

    Implemente isso, teste e dê um retorno.



    Wennder Santos

    Se solucionou seu problema ou dúvida, não esqueça de marcar como resposta. Se foi util, não esqueça de marcar como util.


    quinta-feira, 8 de maio de 2014 14:26
  • NOOOOSSAAAAA, PERFEITO!!

    Muito obrigada Wennder Santos!!!!

    Obrigada também Rodolfo!

    quinta-feira, 8 de maio de 2014 18:04