/ / Como criar um botão que chamará uma página como HttpGet - .net, asp.net-mvc, asp.net-mvc-3, razor

Como criar um botão que irá chamar uma página como HttpGet - .net, asp.net-mvc, asp.net-mvc-3, razor

Estou aprendendo MVC e ASP.NET.Eu tenho uma tabela em que a última coluna contém um botão Editar para cada linha. Isso funciona bem e eu gosto da aparência do botão em vez de um link, mas quando ele abre a página, a ação HttpPost é chamada no controlador. Eu entendo por que isso está acontecendo, é um botão de envio e funciona como se a página estivesse sendo enviada. Como modifico isso para ter um botão que redireciona para um HttpGet dessa página? (Em Razor ...)

@using (Html.BeginForm("Update", "Purchase"))
{
@Html.HiddenFor(x => x.Id)
<input type="submit" value="Update" />
}

Respostas:

1 para resposta № 1

Adicionar FormMethod.Get ao BeginForm() parâmetros.


1 para resposta № 2

Você provavelmente quer um Post-Redirect-Get porque você vai querer salvar os dados postados.

Na pós-ação, você redirecionaria para um GETação (que pode ser a mesma página com informações atualizadas). Dessa forma, as atualizações subsequentes (F5) não reenviariam o POST. É um bom padrão de usar.