tengo este codigo en razor
@{ var aid = new List<int>(); foreach (var item in Model.applications) { if (item.Status == 1) { aid.Add(item.Id); } } }y en js tengo esto:
<script> function checkIfSigned() { var data = { aid: @aid }; console.log(data); $.ajax({ url: '@Url.Action("Method", "Controller")', type: "POST", data: data, ... }); }y en mi controlador:
public JsonResult Method(List<int> aid) { foreach (var item in aid) { ... } }Mi problema es:
var datos = { ayuda: @aid };
Lanza una excepción:
SyntaxError no detectado: literal de plantilla no terminado
var datos = { ayuda: System.Collections.Generic.List`1[System.Int32] };
¿Que puedo hacer? ¿Cómo puedo publicar la lista?
Puedes hacer así:
var data = []; // javascript array @foreach(var item in Model.applications) { if (item.Status == 1) { <text> /* start JS */ data.push('@item.Id'); /* end JS */ </text> } }y en JS Ajax:
<script> function checkIfSigned() { console.log(data); $.ajax({ url: '@Url.Action("Method", "Controller")', type: "POST", data: data, ... }); } </script>