Como faço para enviar um formulário com um link em ASP.Net MVC?
-
20-08-2019 - |
Pergunta
Eu tenho um formulário HTML, e eu tenho uma ação de controlador que aceita o pedido POST. Tudo funciona com um regular botão enviar, mas eu gostaria de apresentar o formulário com um link ( -tag) em vez disso, para ser capaz de ainda controlar a formatação. Existe alguma maneira de fazer isso muito bem construído na MVC Framework ASP.NET, ou devo escrever meu próprio método de extensão? Será que é mesmo possível fazer isso sem javascript (vou usar AJAX no futuro, mas tem que trabalhar sem).
Solução
Aqui está um exemplo completo. Note que este exemplo particular faz algo bastante importante:. tem um fallback para navegadores com JavaScript desabilitado
Outras dicas
Se javascript e jQuery está habilitado isso efetivamente substitui todos os botões a apresentar com links:
$("input:submit").hide().each(function (index, Element) {
var elm = $(Element);
elm.after($("<a href=#>" + elm.val() + "</a>")
.click(function () { elm.click(); })
);
});
Com base pós vinculado na resposta aceita.
Eu não estou ciente de um ajudante e, tanto quanto eu sei que é impossível enviar um formulário usando uma marca de âncora sem o uso de javascript.
Você não pode 'enviar um formulário' usando um link (tag ) sem Javascript. O javascript vai gerar uma solicitação POST padrão (mesmo que clicar em um botão de formulário enviar) nos bastidores.
Existem outras soluções alternativas para aqueles com JS desabilitado, olhar para o que @ Craig Stuntz submetido.