Usuário com melhor resposta
Resgatar dados MVC

Pergunta
-
Gostaria de saber como eu faço para resgatar os dados da imagem abaixo:
Tenho esse codigo da lista:
@using (Html.BeginForm("Gr
avaDados", "Home", FormMethod.Post, null))
{
<table>
<tr>
<td>Codigo
</td>
<td>Nome
</td>
<td>Status
</td>
<td>Confirmação
</td>
</tr>
@foreach (var item in Model)
{
<tr>
<td>
@item.codigo
</td>
<td>
@item.Nome
</td>
@if (item.status == true)
{
<td>Entrou
</td>
}
else
{
<td>Não Entrou
</td>
}
<td>
@Html.CheckBox("OK", item.status,new { id = item.codigo })
</td>
@* <td>
@Html.ActionLink("Editar", "GravaDados", new { id = item.codigo }) |
@Html.ActionLink("Details", "GravaDados", new { id = item.codigo })
</td>*@
</tr>
}
</table>
<p>
<input type="submit" name="btnConfirmar" value="Confirmar" data-icon="check" data-role="button" data-theme="b" data-inline="true" />
</p>E o meu Controller abaixo:
public ActionResult Lista()
{
var dados = new List<Aluno>(); //Model
dados.Add(new Aluno
{
codigo = 1,
Nome = "Jefferson",
status = true
});
dados.Add(new Aluno
{
codigo = 2,
Nome = "Rodrigo",
status = false
});
dados.Add(new Aluno
{
codigo = 3,
Nome = "Ederson",
status = true
});
dados.Add(new Aluno
{
codigo = 4,
Nome = "Paulo",
status = false
});
dados.Add(new Aluno
{
codigo = 5,
Nome = "Jeferson",
status = true
});
return View("Lista", dados);
}
public ActionResult GravaDados()
{
return View();
}
[HttpPost]
public ActionResult GravaDados(int id)
{
int codigo = id;
return View();
}
Respostas
-
//Coloca isso na view
@model List<SeuNamespace.Aluno>
@using (Html.BeginForm("GravaDados", "Home", FormMethod.Post, null))
{
<table>
<tr>
<td>Codigo
</td>
<td>Nome
</td>
<td>Status
</td>
<td>Confirmação
</td>
</tr>
for(i=0;i<Model.Count;i++)
{
<tr>
<td>
@Model[i].codigo
@Html.HiddenFor(m=>m[i].codigo)
</td>
<td>
@Model[i].Nome
@Html.HiddenFor(m=>m[i].Nome)
</td>
@if (@Model[i].status == true)
{
<td>Entrou
</td>
}
else
{
<td>Não Entrou
</td>
}
<td>
@Html.CheckBoxFor(m=>m[i].status)
</td>
@* <td>
@Html.ActionLink("Editar", "GravaDados", new { id = @Model[i].codigo }) |
@Html.ActionLink("Details", "GravaDados", new { id = @Model[i].codigo })
</td>*@
</tr>
</tr>
}
</table>
<p>
<input type="submit" name="btnConfirmar" value="Confirmar" data-icon="check" data-role="button" data-theme="b" data-inline="true" />
</p>
E o meu Controller abaixo:
public ActionResult Lista()
{
var dados = new List<Aluno>(); //Model
dados.Add(new Aluno
{
codigo = 1,
Nome = "Jefferson",
status = true
});
dados.Add(new Aluno
{
codigo = 2,
Nome = "Rodrigo",
status = false
});
dados.Add(new Aluno
{
codigo = 3,
Nome = "Ederson",
status = true
});
dados.Add(new Aluno
{
codigo = 4,
Nome = "Paulo",
status = false
});
dados.Add(new Aluno
{
codigo = 5,
Nome = "Jeferson",
status = true
});
return View("Lista", dados);
}
public ActionResult GravaDados()
{
//Não sei se vc usa essa action, se usar vai ter que retornar uma lista de aluno
//igual na action Lista()
return View();
}
[HttpPost]
public ActionResult GravaDados(List<Aluno> model)
{
//faz o que precisa, vai sempre retornar preenchido com o id, nome e o status.
return View(model);
}- Marcado como Resposta _Manigold_ sexta-feira, 27 de setembro de 2013 22:54