这是我的操作创建我的控制器:
[HttpPost]
public ActionResult Create(Pedido pedido)
{
List<Produto> lista = new List<Produto>();
if (ModelState.IsValid)
{
//Cliente cliente = unitOfWork.ClienteRepository.Busca(pedido.ClienteId);
Produto produto = unitOfWork.ProdutoRepository.Busca(pedido.ProdutoId);
lista.Add(produto);
pedido.produtos = lista;
//pedido.cliente = cliente;
unitOfWork.PedidoRepository.Adiciona(pedido);
unitOfWork.Salva();
return RedirectToAction("Index");
}
}
我的对象pedido是好的...对象cliente ok ...但是当对象pedido进入视图索引...不知何故,对象内部的对象cliente丢失...
这是我的观点索引:
@model IEnumerable<ProjetoZeus.Models.Pedido>
@{
ViewBag.Title = "Index";
}
<h2>Lista de Pedidos</h2>
<p>
@Html.ActionLink("Adicionar Novo", "Create")
</p>
<fieldset>
<legend>Pedidos</legend>
<table>
<tr>
<th>@Html.DisplayNameFor(model => model.ID)</th>
<th>Produto</th>
<th>Preço</th>
<th>@Html.DisplayNameFor(model => model.cliente)</th>
</tr>
@foreach (var item in Model)
{
<tr>
<td>
@Html.DisplayFor(model => item.ID)
</td>
<td>
@Html.DisplayFor(model => item.produtos[0].Nome)
</td>
<td>
@Html.DisplayFor(model => item.produtos[0].Preco)
</td>
<td>
@Html.DisplayFor(model => item.cliente.NomeCliente)
</td>
</tr>
}
</table>
</fieldset>
在视图中,唯一为null的是我的对象Cliente和我的列表。
答案 0 :(得分:1)
我认为你真正需要的是
return View("Index", lista);
而不是
return RedirectToAction("Index")
将浏览器重定向到&#34;索引&#34;控制器的动作。
答案 1 :(得分:0)
代码行return RedirectToAction("Index");
将用户重定向到您的Index
视图(类型为HttpGet)。基于Index
操作从DB中获取IEnumerable<ProjetoZeus.Models.Pedido>
的假设。如果更新的DB值已更新&#39; Cliente&#39;然后它将为空。