ASP.NET MVC Vista Parcial com Forma
-
06-07-2019 - |
Pergunta
Eu tenho um cenário que eu quero usar uma visão parcial, mas estou tendo problemas com ele passando dados para o controlador. Aqui está um exemplo básico do que eu estou tentando fazer.
Objetos:
- Cliente
- Ordem
Um cliente tem um IList<Order>
nele. Eu quero a vista parcial para permitir que o usuário editar as informações. Posso obter os dados para exibir mas quando os postos de formulário na lista sob o objeto do cliente é nulo.
Eu também tentei usar um formulário separado na minha visão parcial. Quando eu fizer isso, se eu criar paramenters no controlador como assim que eu obter os dados:
public ActionResult UpdateOrders(IList<Guid> id, IList<int> quantity, IList<Guid> productId)
Mas quando eu faço isso
public ActionResult UpdateOrders(IList<Order> orders)
A lista é nulo.
Se alguém tiver uma sugestão melhor de como conseguir isso, me avise.
Solução
Como você está referenciando os campos na sua opinião? Eu estou pensando que deve ser algo como:
<input type="hidden" name="orders.Index" value="0" />
<input type="hidden" name="oders[0].ID" value="1" />
<input type="hidden" name="orders[0].productId" value="4" />
<input type="text" name="orders[0].quantity" value="6" />
<input type="hidden" name="orders.Index" value="1" />
<input type="hidden" name="orders[1].ID" value="2" />
<input type="hidden" name="orders[1].productId" value="2" />
<input type="text" name="orders[1].quantity" value="15" />
blog See de Phil Haack em obrigatório a um lista para mais informações.