exhtml
12/20/2018 - 8:38 AM

ASP NET MVC convertir modelo desde la vista a JSON

Desde la vista

pasar el modelo que viene del controlador a json:

  • Si lo vamos a pasar desde una etiqueta HTML
<div data-ng-init="init(@Newtonsoft.Json.JsonConvert.SerializeObject(Model));"></div>

o tambien podemos hacer:

@Code
  ViewBag.data = Newtonsoft.Json.JsonConvert.SerializeObject(Model)
End Code
<div data-ng-init="init(ViewBag.data)"></div>
  • Si necesitamos pasarlo desde dentro de javascript
<script>
var dataPuertosFilter = @(Html.Raw(Newtonsoft.Json.JsonConvert.SerializeObject(ViewBag.puertosFilter)));
</script>

Desde el controlador

Devolver el modelo a la vista tambien en json

Da error a veces de 'El valor no puede ser nulo', habria que ver de que forma evitarlo o ignorarlo

ViewBag.jsonViewModel = JsonConvert.SerializeObject(tr, Formatting.Indented, New JsonSerializerSettings With {.NullValueHandling = NullValueHandling.Ignore})

//tr en este caso es el modelo que luego devolvemos a la vista

ViewBag.jsonViewModel = JsonConvert.SerializeObject(tr) 
Return View(tr)

Y luego en la vista:

var jsonViewModel = @Html.Raw(ViewBag.jsonViewModel);