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 № 1Adicionar 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.