Isn\'t it possible to pass @Model to ng-init
in ASP.NET MVC 4 view? When I do it like data-ng-init=init(@Model)
it is undefined in the init()
inlcude the @using ProjectApp.Models then data-ng- init="init(@Newtonsoft.Json.JsonConvert.SerializeObject(Model))"
Serialize you model into json string, using Newtonsoft.Json assembly or similar and pass the serialization result to data-ng-init.
As I commented, you need to translate between your server-side objects (e.g. @Model
) and client-side objects.
For example, if you just wanted to use the Name
property of @Model
you could do something like this:
<div ng-init="init('@Model.Name')"></div>
$scope.init = function(name){
console.log(name); // prints value of name
}
Notice, that even in this simple example, it is necessary to format @Model.Name
into a JavaScript string (by putting quotes around it).
Probably, you don't want to use the entire @Model
object. It is best to choose only the fields you want and pass them in individually.
If you need access to a lot of data from the server, it is recommended to use $http
service and make a server call for the data.