MVC 5 adiciona campos dinâmicos ao formulário usando jquery e salva no modelo
-
20-12-2019 - |
Pergunta
É possível ter um formulário no MVC 5 onde você pode adicionar campos dinâmicos usando jQuery como aqui:JSFiddle
E depois postar esses campos para modelar usando MVC?
Na verdade, meu viewmodel onde quero salvar esses valores é um List<string>
onde todos esses valores serão salvos.
Solução
Ao adicionar dinamicamente as entradas, você precisa garantir que elas sejam nomeadas/indexadas corretamente para postback.Por exemplo, se o seu método de pós-ação for
[HttpPost]
public ActionResult Edit(List<string> text)
{
...
então suas entradas precisam ser nomeadas
<input name="[0].text" value=.../>
<input name="[1].text" value=.../>
<input name="[2].text" value=.../>
então você precisa modificar o script para criar o atributo de nome correto.Observe que os índices precisam começar em zero e ser sequenciais, portanto você precisará levar em consideração o que acontece se uma entrada no meio da lista for removida pelo usuário.