É o seguinte
Minha dúvida tem a ver com o tema da aula mas não com o projeto do curso em si. Eu criei um form onde eu filtrar os dados de uma tabela. Quando dou um submit nesse form, ele recarrega a página e preenche dois objetos com os dados digitados em cada text box. Minha dúvida é, como eu poderia fazer esse submit, enviar os dados digitados em cada text box, filtrar minha tabela com o que o usuário digitou, e devolver um DataTable para a view usando AJAX?
Meu Controller
public ActionResult Consultar(Requerimento req, Status st)
{
Repositorio rep = new Repositorio(cnn);
DataTable dt = new DataTable();
if (st.ID == 0)
{
dt = rep.ListaRequerimentoFiltrado(req);
}
else
dt = rep.ListaRequerimentoFiltrado(req, st);
return View(dt);
}
Minha View
@using REQ_FRB.Models
@using System.Data;
@model System.Data.DataTable
<title>Consultar</title>
<div>
@using (Html.BeginForm("Consultar", "Requerimento", FormMethod.Post))
{
<p>
Filtrar por Requerente : @Html.TextBox("req.Requerente")
Filtrar por Aluno : @Html.TextBox("req.Aluno")
Filtrar por Protocolo : @Html.TextBox("req.Protocolo")
<br /> <br />
Filtrar por Status :<select name="st.ID">
<option value="0">Todos</option>
<option value="1">Em Processo</option>
<option value="2">Pronto</option>
<option value="3">Retirado</option>
</select>
<br /><br /><input type="button" value="Filtrar" class="btn btn-primary"/>
</p>
}
<table class="table table-bordered table-responsive">
<thead>
<tr>
@foreach (DataColumn col in Model.Columns)
{
if (col.ColumnName != "Status_ID" && col.ColumnName != "ID")
{
<th>@col.ColumnName.ToString()</th>
}
}
</tr>
</thead>
<tbody>
@foreach (DataRow row in Model.Rows)
{
<tr>
<td>@row["Protocolo"].ToString()</td>
<td>@row["Requerente"].ToString()</td>
<td>@row["Aluno"].ToString()</td>
<td>@row["Status"].ToString()</td>
<td>@row["Data de Retirada"].ToString()</td>
<td>@Html.ActionLink("Editar", "Editar", new { ID = row["ID"] })</td>
</tr>
}
</tbody>
</table>
<br /><br /><br />
<input type="button" class="btn btn-primary" onclick="window.location = '/Requerimento'" value="Voltar" />
</div>