Descripción
El modelo de una página Razor incluye propiedades del tipo diccionario que queremos postear como campos ocultos o mediante Json.Solución
Para camposOcultos
@helper OcultoDictionary(Dictionary<int, int> dicc, string nombre) { var i = 0; foreach (var d in dicc) { <input type="hidden" value="@d.Key" name="@string.Format("{0}[{1}].Key",nombre,i)" /> <input type="hidden" value="@d.Value" name="@string.Format("{0}[{1}].Value",nombre,i)" /> i++; } }
Ejemplo de resultados
<input type="hidden" value="1" name="ExperienciasEspecificas[0].Key" /> <input type="hidden" value="1" name="ExperienciasEspecificas[0].Value" /> <input type="hidden" value="2" name="ExperienciasEspecificas[1].Key" /> <input type="hidden" value="1" name="ExperienciasEspecificas[1].Value" /> <input type="hidden" value="3" name="ExperienciasEspecificas[2].Key" /> <input type="hidden" value="1" name="ExperienciasEspecificas[2].Value" />
Para Json
@helper JsonDiccionario(Dictionary<int, int> dic, string n) { var i = 0; foreach (var d in dic) { @Html.Raw($"'{n}[{i}].Key':{d.Key},") @Html.Raw($"'{n}[{i}].Value':{d.Value},") i++; } }
Ejemplo de resultados
{
...
'ExperienciasEspecificas[0].Key':1,
'ExperienciasEspecificas[0].Value':1,
'ExperienciasEspecificas[1].Key':2,
'ExperienciasEspecificas[1].Value':1,
'ExperienciasEspecificas[2].Key':3,
'ExperienciasEspecificas[2].Value':1,
...
}
No hay comentarios:
Publicar un comentario