I have a strongly typed View that accepts a Customer model, this customer model is a LINQ2SQL partial class that has a property called Journeys which returns all Journeys th
I would do this:
Using NewtonSoft Json Library, you can convert any C# model object to Json at the client end
http://james.newtonking.com/pages/json-net.aspx
in the view
<script>
var jsobject = <%= JsonConvert.SerializeObject(Model.Journeys) %>;
function myfunction (){
//work with object
}
</script>
This question has long been answered (and accepted), but I wanted to pass along a response to a similar question that helped me. His answer takes advantage of MVC3/Razor syntax:
https://stackoverflow.com/a/7486214/249153:
In mvc3 with razor @Html.Raw(Json.Encode(object)) seems to do the trick.
How about exposing your Customer model through a Javascript view and loading it as a regular javascript file in your HTML?
Like this:
In your HTML view:
<script type="text/javascript" src="/customers/123/json">
And in your controller:
public ActionResult CustomerJson(int customerId)
{
var serializer = new System.Web.Script.Serialization.JavaScriptSerializer();
var customer = Customer.Get(customerId);
var serializedCustomer = serializer.Serialize(customer);
return JavaScript(
"function getCustomer() { return (" + serializedCustomer + "); }");
}