Paginação do ASP.NET MVC para um formulário de pesquisa

Eu li várias postagens diferentes sobre paginação com MVC, mas nenhuma descreve um cenário em que tenho algo como um formulário de pesquisa e, em seguida, quero exibir os resultados dos critérios de pesquisa (com paginação) abaixo do formulário assim que o usuário clica em enviar.

Meu problema é que, a solução de paginação que estou usando criará <a href="..."> links que passarão pela página desejada da seguinte maneira:http://mysite.com/search/2/ e enquanto isso é bom e elegante, não tenho os resultados da consulta enviada para o banco de dados na memória ou algo assim, então preciso consultar o banco de dados novamente.

Se os resultados são tratados pela ação do controlador POST para / Search e a primeira página dos dados é renderizada como tal, como obtenho os mesmos resultados (com base nos critérios de formulário especificados pelo usuário) quando o usuário clica em para mover para página 2?

Algum vodu de javascript? Aproveitar o estado da sessão? Faça com que minha ação do controlador GET tenha as mesmas variáveis esperadas pelos critérios de pesquisa (mas opcionais). Quando a ação GET é chamada, instancia uma instância do FormCollection, preenche-a e passa-a para o método de ação POST (satisfazendo o DRY).

Alguém pode me indicar a direção certa para esse cenário ou fornecer exemplos que foram implementados no passado? Obrigado!

questionAnswers(6)

yourAnswerToTheQuestion