ASP.NET MVC DIGITAR ANO E MOSTRAR RESULTADO

PERCIFILHO 03/11/2016 16:20:34
#468715
Boa tarde, pessoal!!!
Tenho uma tela assim:



Quero deixar a tabela escondida e quando o usuário digitar o ano, pesquisar no banco de dados e retornar os registros que eu preciso. Estou usando Views Razor.
Ocultar a tabela ao abrir a página eu até já fiz: coloquei a tabela dentro de uma <div id=[Ô]grid[Ô] hidden=[Ô]hidden[Ô]>.
Agora como devo fazer quando o usuário digitar o ano e teclar Enter?
Minha controller para retornar os dados está assim:

public ActionResult Index()
{
return View(db.Combustivel.Include(p => p.Placa).OrderBy(o => o.Placa.Ordem));
}

Deveria ser algo como colocar um parâmetro na ActionResult, por exemplo: public ActionResult Index(string ano)
Aí alterar comando fazendo uma condição Where para o ano que eu preciso, correto?
Agora, a minha maior dúvida é como eu vou passar o ano que foi digitado para essa Controller?
Agradeço a ajuda.

PERCIFILHO 04/11/2016 08:33:04
#468728
Bom dia, galera!
Consegui algum progresso. Na View, eu fiz assim:

@using (Html.BeginForm())
{
<div style=[Ô]text-align:center;[Ô]>
<label>Ano:</label>
@Html.TextBox([Ô]ano[Ô], null, new { @style=[Ô]width:60px;[Ô] })
<input type=[Ô]submit[Ô] value=[Ô]Enviar[Ô] id=[Ô]btnEnviar[Ô] />
</div>
}

E no Controller, assim:

public ActionResult Index(string ano)
{
if (ano == null)
{
return View(db.Combustivel.Include(p => p.Placa).OrderBy(o => o.Placa.Ordem));
}
else
{
return View(db.Combustivel.Include(p => p.Placa).Where(w => w.Ano == ano).OrderBy(o => o.Placa.Ordem));
}
}

Dessa forma, eu consigo retornar o ano e a realizar a pesquisa. Agora, só está faltando uma coisa:
Quando eu abro a página, a tabela tem que ficar escondida e somente mostrar ela quando retornar os dados da consulta.
Se alguém puder me ajudar, agradeço muito, enquanto isso vou tentando....
PERCIFILHO 04/11/2016 14:10:29
#468737
Bom, já consegui o que eu queria.
Tópico encerrado , respostas não são mais permitidas